Java FileWriter构造函数中的值。否则,它将简单地用新内容覆盖outfile(请参阅)
PrintWriter writer2=新的PrintWriter(新文件编写器(“numbers.dat”,true)Java FileWriter构造函数中的值。否则,它将简单地用新内容覆盖outfile(请参阅),java,file-io,Java,File Io,PrintWriter writer2=新的PrintWriter(新文件编写器(“numbers.dat”,true) 正如Govan提到的,你并没有关闭writer2。这就是为什么您的文件是空白的。如果调用writer2.close,将调用BufferedWriter的“flush”方法。“flush”实际上是强制写入程序将数据写入文件() 正如Bharat提到的,您应该重新编写循环以使用“i”变量来编写,而不是sumeen。按照sumEven的编写方式,您将获得以下内容: i=1,sumE
您的第一个循环可以是这样的
for (i = 0; i < 100 ; i+2)
{
if (i != 0) {
writer.print(", ");
}
writer.print(i+2);
}
(i=0;i<100;i+2)的
{
如果(i!=0){
作者:印刷体(“,”);
}
编印(i+2);
}
第二个应该是这样的
for (i = 0; i < 100 ; i+2)
{
writer.print( ", " +(i+1));
}
(i=0;i<100;i+2)的
{
writer.print(“,”+(i+1));
}
否则,您必须在行的末尾加一个逗号 您的第一个循环可以是这样的
for (i = 0; i < 100 ; i+2)
{
if (i != 0) {
writer.print(", ");
}
writer.print(i+2);
}
(i=0;i<100;i+2)的
{
如果(i!=0){
作者:印刷体(“,”);
}
编印(i+2);
}
第二个应该是这样的
for (i = 0; i < 100 ; i+2)
{
writer.print( ", " +(i+1));
}
(i=0;i<100;i+2)的
{
writer.print(“,”+(i+1));
}
否则,您必须在行的末尾加一个逗号 我对您的代码做了几处更改 首先,你不需要两个作家,也不需要两个读者 您的单个写入程序可以写入偶数和奇数,因为您只写入一个文件。我将考虑两个作者的场景是,如果你同时编写一个奇数文件和一个偶数文件,则 不管怎么说,我只是把那些毛茸茸的东西注释掉了。如果删除所有注释,代码应该更简单、更有效,尤其是可读性更强
import java.io.*;
import java.util.*;
public class TextFileIO {
public static void main(String[] args) throws Exception {
//Clear the contents of numbers.dat if already exists and populated
File fileOne = new File("numbers.dat");
fileOne.delete();
File newFile = new File("numbers.dat");
newFile.createNewFile();
//Create writer object
PrintWriter writer = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is even, write to file
if (i % 2 == 0) {
writer.print(i + ",");
}
}
//Close writer object.
//writer.close();
//Read from file
//FileInputStream fileStream = new FileInputStream("numbers.dat");
//DataInputStream in = new DataInputStream(fileStream);
//BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//Print line
//System.out.println(reader.readLine());
//reader.close();
//Write all odd numbers to file
//PrintWriter writer2 = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is odd, write to file
if (i % 2 == 1) {
writer.print(i + ",");
}
}
writer.close();
//Read from file
FileInputStream fileStream2 = new FileInputStream("numbers.dat");
DataInputStream in2 = new DataInputStream(fileStream2);
BufferedReader reader2 = new BufferedReader(new InputStreamReader(in2));
//Print line
System.out.println(reader2.readLine());
reader2.close();
}
}
import java.io.*;
导入java.util.*;
公共类TextFileIO{
公共静态void main(字符串[]args)引发异常{
//清除numbers.dat的内容(如果已存在并已填充)
File fileOne=新文件(“numbers.dat”);
fileOne.delete();
File newFile=新文件(“numbers.dat”);
createNewFile();
//创建编写器对象
PrintWriter writer=新的PrintWriter(新文件编写器(“numbers.dat”);
//从1循环到100
对于(inti=1;i我对代码做了一些更改
首先,你不需要两个作家,也不需要两个读者
<> P>你的一个作者可以写偶数和奇数,因为你只写一个文件。如果你同时写一个奇数文件和一个偶数文件,我会考虑两个作者。
不管怎么说,我只是注释掉了一些无关紧要的东西。如果删除所有注释,代码应该更简单、更有效,尤其是更可读
import java.io.*;
import java.util.*;
public class TextFileIO {
public static void main(String[] args) throws Exception {
//Clear the contents of numbers.dat if already exists and populated
File fileOne = new File("numbers.dat");
fileOne.delete();
File newFile = new File("numbers.dat");
newFile.createNewFile();
//Create writer object
PrintWriter writer = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is even, write to file
if (i % 2 == 0) {
writer.print(i + ",");
}
}
//Close writer object.
//writer.close();
//Read from file
//FileInputStream fileStream = new FileInputStream("numbers.dat");
//DataInputStream in = new DataInputStream(fileStream);
//BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//Print line
//System.out.println(reader.readLine());
//reader.close();
//Write all odd numbers to file
//PrintWriter writer2 = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is odd, write to file
if (i % 2 == 1) {
writer.print(i + ",");
}
}
writer.close();
//Read from file
FileInputStream fileStream2 = new FileInputStream("numbers.dat");
DataInputStream in2 = new DataInputStream(fileStream2);
BufferedReader reader2 = new BufferedReader(new InputStreamReader(in2));
//Print line
System.out.println(reader2.readLine());
reader2.close();
}
}
import java.io.*;
导入java.util.*;
公共类TextFileIO{
公共静态void main(字符串[]args)引发异常{
//清除numbers.dat的内容(如果已存在并已填充)
File fileOne=新文件(“numbers.dat”);
fileOne.delete();
File newFile=新文件(“numbers.dat”);
createNewFile();
//创建编写器对象
PrintWriter writer=新的PrintWriter(新文件编写器(“numbers.dat”);
//从1循环到100
对于(int i=1;i)您正在定义要为文件创建的writer2,但您正在关闭writer!writer.newLine();writer.close();如果你想写偶数或奇数,你必须用2而不是i来增加SumeEven!那么,我应该在哪里关闭writer呢?在第一个循环之后,你是在关闭writer。然后你在创建writer 2,但在第二个循环之后,你是在关闭writer而不是writer 2。我认为这只是一个复制粘贴错误。因为你已经有了c一次丢失的writer!@Govan:你能检查一下我更新的代码和评论吗?@Serenity接受一个答案,如果这有助于你获得想要的结果?你正在定义要为文件创建的writer2,但你正在关闭writer!writer.newLine();writer.close();如果你想写偶数或奇数,你必须用2而不是i来增加SumeEven!那么,我应该在哪里关闭writer呢?在第一个循环之后,你是在关闭writer。然后你在创建writer 2,但在第二个循环之后,你是在关闭writer而不是writer 2。我认为这只是一个复制粘贴错误。因为你已经有了c失败者作家一次!@Govan:你能检查一下我更新的代码和评论吗?@Serenity接受一个答案,如果这有助于你获得想要的结果?试试新的…你应该打印i
而不是sumeen
试试新的…你应该打印i
而不是sumeen
嗨..我已经更新了my代码..你能帮我吗
public class textFileIO {
public static void main(String[] args) throws Exception {
//Clear the contents of numbers.dat if already exists and populated
File fileOne = new File("numbers.dat");
fileOne.delete();
File newFile = new File("numbers.dat");
newFile.createNewFile();
//Create writer object
PrintWriter writer = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is even, write to file
if (i % 2 == 0) {
writer.print(i + ",");
}
}
//Close writer object.
writer.close();
//Read from file
FileInputStream fileStream = new FileInputStream("numbers.dat");
DataInputStream in = new DataInputStream(fileStream);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//Print line
System.out.println(reader.readLine());
reader.close();
//Write all odd numbers to file
PrintWriter writer2 = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is odd, write to file
if (i % 2 == 1) {
writer2.print(i + ",");
}
}
writer2.close();
//Read from file
FileInputStream fileStream2 = new FileInputStream("numbers.dat");
DataInputStream in2 = new DataInputStream(fileStream2);
BufferedReader reader2 = new BufferedReader(new InputStreamReader(in2));
//Print line
System.out.println(reader2.readLine());
reader.close();
}
}
for (i = 0; i < 100 ; i+2)
{
if (i != 0) {
writer.print(", ");
}
writer.print(i+2);
}
for (i = 0; i < 100 ; i+2)
{
writer.print( ", " +(i+1));
}
import java.io.*;
import java.util.*;
public class TextFileIO {
public static void main(String[] args) throws Exception {
//Clear the contents of numbers.dat if already exists and populated
File fileOne = new File("numbers.dat");
fileOne.delete();
File newFile = new File("numbers.dat");
newFile.createNewFile();
//Create writer object
PrintWriter writer = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is even, write to file
if (i % 2 == 0) {
writer.print(i + ",");
}
}
//Close writer object.
//writer.close();
//Read from file
//FileInputStream fileStream = new FileInputStream("numbers.dat");
//DataInputStream in = new DataInputStream(fileStream);
//BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//Print line
//System.out.println(reader.readLine());
//reader.close();
//Write all odd numbers to file
//PrintWriter writer2 = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is odd, write to file
if (i % 2 == 1) {
writer.print(i + ",");
}
}
writer.close();
//Read from file
FileInputStream fileStream2 = new FileInputStream("numbers.dat");
DataInputStream in2 = new DataInputStream(fileStream2);
BufferedReader reader2 = new BufferedReader(new InputStreamReader(in2));
//Print line
System.out.println(reader2.readLine());
reader2.close();
}
}
import java.io.*;
import java.util.*;
public class TextFileIO {
public static void main(String[] args) throws Exception {
//Clear the contents of numbers.dat if already exists and populated
File fileOne = new File("numbers.dat");
fileOne.delete();
File newFile = new File("numbers.dat");
newFile.createNewFile();
//Create writer object
PrintWriter writer = new PrintWriter(new FileWriter("numbers.dat"));
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is even, write to file
if (i % 2 == 0) {
writer.print(i + ",");
}
}
//Loop from 1 to 100
for (int i = 1; i <= 100; i++) {
//If number is odd, write to file
if (i % 2 == 1) {
writer.print(i + ",");
}
}
writer.close();
//Read from file
FileInputStream fileStream = new FileInputStream("numbers.dat");
DataInputStream in = new DataInputStream(fileStream);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//Print line
System.out.println(reader.readLine());
reader.close();
}
}