读取和写入Java文件

读取和写入Java文件,java,file-writing,Java,File Writing,今天我带着一个问题来到这个网站。我已经在网站上搜索过了,但找不到任何接近于回答我问题的东西 因此,我正在编写这个程序,它应该有4个选项,其中2个是“读取”文件和“写入”文件。我已经完美地完成了大部分代码,但是我很难让程序“读取”和“写入”文件。我相信这可能是一个扫描仪的问题,例如,但我尝试了各种小技巧,没有一个成功。我愿意接受任何可能的帮助,这让我发疯,我确信我忽略了一些事情,这就是为什么我今天请求你的帮助。下面是我的全部代码,然后是我遇到问题的确切部分 (对于网站来说还是新的,如果格式不正确,

今天我带着一个问题来到这个网站。我已经在网站上搜索过了,但找不到任何接近于回答我问题的东西

因此,我正在编写这个程序,它应该有4个选项,其中2个是“读取”文件和“写入”文件。我已经完美地完成了大部分代码,但是我很难让程序“读取”和“写入”文件。我相信这可能是一个扫描仪的问题,例如,但我尝试了各种小技巧,没有一个成功。我愿意接受任何可能的帮助,这让我发疯,我确信我忽略了一些事情,这就是为什么我今天请求你的帮助。下面是我的全部代码,然后是我遇到问题的确切部分

(对于网站来说还是新的,如果格式不正确,很抱歉)

我得到的错误代码:

Lab9_5.java:67: error: ';' expected
        outFile = PrintWriter new (new FileWriter("E:/savings.txt"));
                             ^
Lab9_5.java:67: error: <identifier> expected
        outFile = PrintWriter new (new FileWriter("E:/savings.txt"));
                                 ^
Lab9_5.java:83: error: <identifier> expected
        inFile = new (new FileReader("E:/savings.txt"));
                    ^
3 errors
Lab9_5.java:67:error:';'预期
outFile=PrintWriter new(新文件编写器(“E:/savings.txt”);
^
Lab9_5.java:67:错误:应为
outFile=PrintWriter new(新文件编写器(“E:/savings.txt”);
^
Lab9_5.java:83:错误:应为
infle=new(新文件读取器(“E:/savings.txt”);
^
3个错误
代码:

导入java.io.File;
导入java.io.FileNotFoundException;
导入java.io.FileWriter;
导入java.io.IOException;
导入java.io.PrintWriter;
导入java.util.Scanner;
公共类Lab9_5{
//声明要从键盘读取的全局变量和扫描程序对象
静态双精度[]非绿色成本=新双精度[6];
静态双精度[]goneGreenCost=新双精度[6];
静态双精度[]节省=新双精度[6];
静态字符串[]个月=新字符串[6];
静态扫描仪输入=新扫描仪(系统输入);
公共静态void main(字符串[]args)引发IOException{
字符串endProgram=“否”;
int选项=0;
初始月份();
而(endProgram.equals(“no”)){
System.out.println(“您喜欢做什么?键入:”);
System.out.println(“1输入数据”);
System.out.println(“2显示数据”);
System.out.println(“3将数据写入文件”);
System.out.println(“4从文件中读取数据”);
option=in.nextInt();
如果(选项==1){
getNotGreen(NotGreen成本,月);
getGoneGreen(goneGreenCost,月);
节能(非绿色成本、goneGreenCost、节约);
}
否则如果(选项==2){
显示信息(非绿色成本、绿色成本、节约、月);
}
否则如果(选项==3){
书面文件(月、储蓄);
}
如果(选项==4){
readFromFile(月,节省);
}
System.out.println(“是否要结束程序(输入是或否):”;
endProgram=in.next();
而(!endProgram.equals(“no”)和&!endProgram.equals(“yes”){
System.out.println(“请输入有效值yes或no”);
endProgram=in.next();
}
}
}
//写入文件功能
公共静态void writeToFile(字符串[]个月,双[]节省)引发IOException{
PrintWriter savings=null;
outFile=PrintWriter new(新文件编写器(“E:/savings.txt”);
输出文件。写入(“储蓄”);
outFile.newLine();
int计数器=0;

而(计数器代码不编译

line 62: PrintWriter savings = null; //savings is already defined
line 63: outFile = PrintWriter new (new FileWriter("E:/savings.txt")); // incorrect PrintWriter instantiation, outFile has no type specified...
line 79: inFile = new (new FileReader("E:/savings.txt")); //new (new... ?
如果您在需要的地方修复对象类型和实例化,它将编译,没有其他编译器错误。尽管我不知道代码是否工作


我建议你阅读一些基础知识,比如:

你的问题代码会抛出任何类型的错误吗?需要更多的细节。你说,…我很难让程序“读”和“写”到文件中。这并不能说明太多。什么样的“困难时间”?您是否收到错误消息?具体症状是什么?很抱歉,我将用错误代码更新问题。奇怪的是,为什么您的文件写入方法有
double[]savings
作为参数,然后声明但从不使用,
PrintWriter savings=null;
我在网站上搜索过,但找不到任何与回答我的问题非常接近的内容..快速搜索“java PrintWriter示例”得到:
// Write to file function
    public static void writeToFile(String[] months, double[] savings) throws IOException{
        PrintWriter savings = null;
        outFile = PrintWriter new (new FileWriter("E:/savings.txt"));
        outFile.write("Savings");
        outFile.newLine();
        int counter = 0;

        while(counter<6){
            outFile.write(months[counter]);
            outFile.newLine();
            outFile.write(savings[counter]+"");
            outFile.newLine();
            counter++;
        }
        outFile.close();
    }
// Read from file function
    public static void readFromFile(String[] months, double[] savings) throws IOException{
        inFile = new (new FileReader("E:/savings.txt"));
        String str1 = "";

        while((str1=inFile.readLine())!=null){
            System.out.println(str1);
        }
        inFile.close();
    }
line 62: PrintWriter savings = null; //savings is already defined
line 63: outFile = PrintWriter new (new FileWriter("E:/savings.txt")); // incorrect PrintWriter instantiation, outFile has no type specified...
line 79: inFile = new (new FileReader("E:/savings.txt")); //new (new... ?