为什么';这个程序没有向输出文件写入任何内容吗? 导入java.io.FileReader; 导入java.io.FileWriter; 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.FileNotFoundException; 导入java.util.Scanner; 公开课信笺柜台 { 公共静态void main(字符串[]args)引发异常 { 字符串filename=“”; 字符串outFile=“”; FileReader fr1=null; FileWriter fw1=null; BufferedReader br1=null; BufferedWriter bw1=null; Scanner myScan=新扫描仪(System.in); 布尔值isValid=true; int[]计数=新的int[56]; 做 { 尝试 { isValid=true; System.out.print(“输入文件名:”); filename=myScan.nextLine(); fr1=新文件读取器(文件名); br1=新的缓冲读取器(fr1); } catch(filenotfounde异常) { System.out.println(“给定的文件无效。请输入另一个文件”); isValid=false; } }而(!isValid); 做 { 尝试 { isValid=true; System.out.print(“输入输出文件名:”); outFile=myScan.nextLine(); fw1=新文件写入程序(输出文件); bw1=新的缓冲写入程序(fw1); } 捕获(例外e) { System.err.println(“错误:+e.getMessage()); isValid=false; } }而(!isValid); System.out.println(“从“+文件名读取”); 尝试 { 弦线; 而((line=br1.readLine())!=null) { 系统输出打印项次(行); 对于(int i=0;i

为什么';这个程序没有向输出文件写入任何内容吗? 导入java.io.FileReader; 导入java.io.FileWriter; 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.FileNotFoundException; 导入java.util.Scanner; 公开课信笺柜台 { 公共静态void main(字符串[]args)引发异常 { 字符串filename=“”; 字符串outFile=“”; FileReader fr1=null; FileWriter fw1=null; BufferedReader br1=null; BufferedWriter bw1=null; Scanner myScan=新扫描仪(System.in); 布尔值isValid=true; int[]计数=新的int[56]; 做 { 尝试 { isValid=true; System.out.print(“输入文件名:”); filename=myScan.nextLine(); fr1=新文件读取器(文件名); br1=新的缓冲读取器(fr1); } catch(filenotfounde异常) { System.out.println(“给定的文件无效。请输入另一个文件”); isValid=false; } }而(!isValid); 做 { 尝试 { isValid=true; System.out.print(“输入输出文件名:”); outFile=myScan.nextLine(); fw1=新文件写入程序(输出文件); bw1=新的缓冲写入程序(fw1); } 捕获(例外e) { System.err.println(“错误:+e.getMessage()); isValid=false; } }而(!isValid); System.out.println(“从“+文件名读取”); 尝试 { 弦线; 而((line=br1.readLine())!=null) { 系统输出打印项次(行); 对于(int i=0;i,java,io,Java,Io,没关系..算出了..我只是忘了关闭缓冲区..最后你忘了关闭BufferedWriter吗 import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.util.Scanner; public class Letter_Count

没关系..算出了..我只是忘了关闭缓冲区..

最后你忘了关闭BufferedWriter吗

import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Letter_Counter 
{
    public static void main(String[] args) throws Exception
    {
        String filename = "";
    String outFile = "";
    FileReader fr1 = null;
    FileWriter fw1 = null;
    BufferedReader br1 = null;
    BufferedWriter bw1 = null;
    Scanner myScan = new Scanner(System.in);
    boolean isValid = true;
    int[] count = new int[56];

    do
    {
        try
        {
            isValid = true;
            System.out.print("Input a file name: ");
            filename = myScan.nextLine();
            fr1 = new FileReader(filename);
            br1 = new BufferedReader(fr1);
        }
        catch(FileNotFoundException e)
        {
            System.out.println("Invalid filenme given. Input another.");
            isValid = false;
        }
    }while(!isValid);

    do
    {
        try
        {
            isValid = true;
            System.out.print("Input an out file name: ");
            outFile = myScan.nextLine();
            fw1 = new FileWriter(outFile);
            bw1 = new BufferedWriter(fw1);
        }
        catch(Exception e)
        {
            System.err.println("Error: "+e.getMessage());
            isValid = false;
        }
    }while(!isValid);

    System.out.println("Reading from "+filename);

    try
    {
        String line;

        while((line = br1.readLine()) != null)
        {
            System.out.println(line);
            for(int i=0; i<line.length(); i++)
            {
                for(int j=97; j<123; j++)
                {
                    if((int)line.charAt(i)==j)
                    {
                        count[j-97]++;
                    }
                }
                for(int k=65; k<91; k++)
                {
                    if((int)line.charAt(i)==k)
                    {
                        count[k-38]++;
                    }
                }
            }
        }
    }
    catch(Exception e)
    {
        System.err.println("Error: "+e.getMessage());
    }

    try
    {
        char c = 'A';
        for(int i=26; i<52; i++)
        {
            bw1.write(c+"="+count[i]);
            System.out.println(c+"="+count[i]);
            bw1.newLine();
            c++;
        }
        c = 'a';
        for(int i=0; i<26; i++)
        {
            bw1.write(c+"="+count[i]);
            System.out.println(c+"="+count[i]);
            bw1.newLine();
            c++;
        }
    }
    catch(Exception e)
    {
        System.err.println(e.getMessage());
    }

    System.out.println("Results stored in "+outFile);
}
}

只需输入/输出正确的文件名路径。 然后像这样在belwo的地方关闭fw1

bw1.close();
    System.out.println("Results stored in "+outFile);
    fw1.close();