Tag: bufferedwriter

BufferedWriter不写入文件

我必须从用户获取用户的名称和地址,并将其放入textfile。 我写下面的代码: package selfTest.nameAndAddress; import com.intellij.codeInsight.template.postfix.templates.SoutPostfixTemplate; import java.io.*; import java.util.Arrays; /** * Created by */ public class Test { public static void main(String[] args) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //creating addressbook text file File fl=new File(“E:/addressbook.txt”); fl.createNewFile(); FileReader fr=new FileReader(fl); BufferedReader in=new BufferedReader(fr); boolean eof=false; int inChar=0; String[] name=new String[2]; String[] […]

如何通过FileWriter在BufferedWriter上设置缓冲区大小

当我用一些线程将数据写入单个文件时,我遇到了BufferedWriter的问题。 我设置了BufferedWriter的缓冲区大小,但无论我设置了什么数字,当缓冲区为8192(默认缓冲区大小)时,它会将数据刷新到磁盘,而不是我设置的大小(这里是16384)。 我的代码有问题吗? 这就是我构建BufferedWriter : new BufferedWriter(new FileWriter(fileName, true), 16384); 这是完整的代码: import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class Test1 { public static void main(String[] args) throws IOException { for(int i =0;i<10;i++){ MyThread r = new MyThread(); Thread t = new Thread(r); t.start(); } } } class MyThread implements Runnable { public void […]

缓冲写入器在写作过程中停止

由于某种原因,此代码会导致截断的text.txt文件。 应该(根据我)写出1000个结果,但输出文件有不同的行数(取决于运行)。 奇怪的是,对文件的写入在写入命令的中间停止,这样一条线可能不完整。 目前,最新运行的文本文件的最后三行如下: 749, 78.97988, 97.80454, 99.6625, 94.00000015258789 750, 4.1745043, 86.64212, 107.59311, 71.00000008583069 751, 就是这样。 之后别无其他。 这是代码: import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.Random; public class ColorGrayScale { /** * @param args * @throws IOException */ @SuppressWarnings(“resource”) public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Writer […]

BufferedWriter表现得很奇怪

我正在尝试使用工作高分机制制作游戏,我正在使用java.io.BufferedWriter写入高分文件。 我在高分上没有加密,我使用Slick2D和LWJGL进行渲染和用户输入。 该程序执行此代码: FileWriter fstream = new FileWriter(“res/gabjaphou.txt”); BufferedWriter writer = new BufferedWriter(fstream); writer.write(score); // score is an int value writer.close(); // gotta save m’resources! lol 我打开由此生成的文本文件,所有读取的都是问号。 我不知道为什么会发生这种情况,我使用了我正在制作的另一个项目中的其他代码,我对此没有任何问题……有谁知道为什么? 这真烦人! :C

为什么缓冲区写入者不写入文件?

这是代码片段。 read = new FileReader(“trainfiles/”+filenames[i]); br = new BufferedReader(read); while((lines = br.readLine())!=null){ st = new StringTokenizer(lines); while(st.hasMoreTokens()){ bw = new BufferedWriter(new FileWriter(“files/file.txt”)); bw.write(st.nextToken()); bw.newLine(); } } 编辑:我正在从目录中读取文件。 所以,我需要在每个循环中打开阅读器。 我做了一些修改,但后来也没有写入该文件。 这是代码: for(i=0;i==0;i++){ if(filenames[i].matches(“.*ham.*”)){ System.out.println(“ham:”+filenames[i]); read = new FileReader(“trainfiles/”+filenames[i]); br = new BufferedReader(read); while((lines = br.readLine())!=null){ st = new StringTokenizer(lines); while(st.hasMoreTokens()){ System.out.println(st.nextToken()); bw.write(st.nextToken()); } } bw.close(); br.close(); […]

是否有必要关闭FileWriter,前提是它是通过BufferedWriter编写的?

考虑一下BufferedReader,如下所示: writer = new BufferedWriter(new FileWriter(new File(“File.txt”), true)); 在这种情况下,在应用程序结束时,我正在使用writer.close()关闭writer.close() 这还够吗? 用new FileWriter(new File(“File.txt”), true) FileWriter创建的new FileWriter(new File(“File.txt”), true)是否需要关闭?

FileWrite BufferedWriter和PrintWriter相结合

好的,我正在学习I / O,我在其中一张幻灯片中找到了以下代码。 有人可以解释为什么需要有FileWrite,BufferedWriter和PrintWriter吗? 我知道BufferedWriter是缓冲输出并将其全部放在一起,但为什么他们会使用FileWriter和PrintWriter? 他们几乎没有做同样的error handling等一点点差异? 还有为什么他们将bw传递给PrintWriter ? FileWriter fw = new FileWriter (file); BufferedWriter bw = new BufferedWriter (fw); PrintWriter outFile = new PrintWriter (bw);

Bufferedwriter工作,但文件为空?

我有以下代码: CSVmaker(LinkedList data) { String [] myLines = makeStrings(data); // for (int k = 0; k<myLines.length; k++) // System.out.println(myLines[]); this.file = new File("rawdata.csv"); try { BufferedWriter buff = new BufferedWriter(new FileWriter(file)); for (int i = 0; i<myLines.length; i++){ buff.write(myLines[i]); buff.newLine(); System.out.println("done"); } } catch (IOException ex) { System.out.println("except"); } } 不,我检查了myLines的内容,这些是正确的。 另外,我得到的印刷品就像我应该的那样经常打印“完成”。 csv已创建。 但是,如果我手动打开它,它是空的。 这可能是什么原因?

java.net.Socket threadsafe以什么方式?

我有一个Socket,我正在阅读和写作,通过BufferedReaders和BufferedWriters。 我不确定哪些操作可以从单独的线程中完成。 我猜想同时从两个不同的线程写入套接字是个坏主意。 与从两个不同的线程同时读取套接字相同。 在另一个线程上写入时在一个线程上阅读怎么样? 我问,因为我想在读取时长时间阻塞一个线程,因为它等待更多数据,但在这个等待期间,我偶尔也会在套接字上发送数据。 我不清楚这是否是线程安全的,或者我是否应该在写入之前取消读取(这会很烦人)。

Java:CSV文件易于读​​/写

我正在开发一个需要快速访问CSV逗号分隔的电子表格文件的程序。 到目前为止,我已经能够使用BufferedReader轻松读取它。 但是,现在我希望能够编辑它读取的数据,然后将其导出回CSV。 电子表格包含姓名,电话号码,电子邮件地址等。该程序列出了每个人的数据,当您点击它们时,它会显示一个包含更多详细信息的页面,也可以从CSV中提取。 在该页面上,您可以编辑数据,我希望能够单击“保存更改”按钮,然后将数据导出回CSV中的相应行 – 或删除旧数据,然后附加新数据。 我不太熟悉使用BufferedWriter,或者我应该使用的任何东西。 我开始做的是创建一个名为FileIO的自定义类。 它包含BufferedReader和BufferedWriter。 到目前为止,它有一个返回bufferedReader.readLine()的方法,名为read()。 现在我想要一个名为write(String line)的函数。 public static class FileIO { BufferedReader read; BufferedWriter write; public FileIO (String file) throws MalformedURLException, IOException { read = new BufferedReader(new InputStreamReader (getUrl(file).openStream())); write = new BufferedWriter (new FileWriter (file)); } public static URL getUrl (String file) throws IOException { return //new […]