我想写一个文件,但混合了3波纹管功能。怎么样?
如何将所有这些功能混合打开写文件?
答案 0 :(得分:0)
首先要做的是,发起你的BufferedWriter
:
`
String fileName = METHOD ARGUMENT, OR REGULAR STRING ("Output.txt");
BufferedWriter writer = null;
try {
File outFile = new File(fileName);
writer = new BufferedWriter(new FileWriter(OUTPUT NAME OF THE FILE YOU ARE WRITING. , true));
writer.write(WHAT YOU WANT TO WRITE TO THE FILE);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// Close the writer regardless of what happens...
writer.close();
} catch (Exception e) {
}
现在解释一下代码,所以我不只是把它喂给你。
当我们声明BufferedWriter writer = null;
时,我们将它设置为null,这样我们就不会在没有设置Try / Catch异常处理程序的情况下编写任何内容。
一旦我们处理了异常,我们就会发起一个名为outFile的File
。这将是我们输出的文件。我们给它的参数是文件名的名称。 (A String
值,例如“Output.txt”)注意:您必须添加扩展名,否则它将无法按照您希望的方式工作。
接下来,当我们再次引用BufferedWriter
时,我们在try / catch处理程序中启动一个新的,在内部我们启动一个FileWriter(将对文件进行写操作)。我们给它两个论点。输出文件的名称(“Output.txt”),我们还提供true
参数。这样做是使文件可附加!当我们写真时,我们说我们希望文件可以附加。
最后,我们写入文件,无论你想写什么。
至于第三个功能,我不认为FileWriter
会允许你选择你想要写的字符编码,所以除非你不使用UTF-8,那么你可能想要使用PrintWriter
要做到这一点,你只需要替换我们的`writer = new BufferedWriter(新的FileWriter(你写的文件的输出名称,真实));
writer = new BufferedWriter(new PrintWriter(outputName, "UTF-8"));
我认为这应该有效,如果没有,请告诉我,我会找到一个有效的解决方案。
答案 1 :(得分:-1)
public class WriteFile {
BufferedWriter out;
public void openFile(String file){
try {
out = new BufferedWriter(new FileWriter("data.txt"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void writeInts(int[] ints){
try {
for(int i : ints) out.write(i+" ");
out.newLine();
out.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void closeFile(){
try {
if (out!=null)out.close();
} catch (IOException e) {
}
}
}
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
WriteFile wf = new WriteFile();
wf.openFile("test.txt");
wf.writeInts(new int[]{1,2,3,4,5});
wf.writeInts(new int[]{5,4,3,2,1});
wf.closeFile();
BufferedReader bf = new BufferedReader(new FileReader("test.txt"));
System.out.println(bf.readLine());
System.out.println(bf.readLine());
}
}
输出: 第1行:1 2 3 4 5 第2行:5 4 3 2 1