无法将输出写入 JAVA 中的文本文件
Not being able to write output to text file in JAVA
我正在尝试将数字 1-10 的平方输出到名为 Squares 的文件中,但 OutputStream.print(i+"\t"+(i*i));
部分出现错误。印刷品有下划线,我不明白为什么。请帮助我。
代码如下:
import java.util.*;
import java.io.*;
public class Number1 {
public static void main(String[] args) throws FileNotFoundException {
FileOutputStream fos = new FileOutputStream("Squares.txt");
PrintWriter square;
try{
square = new PrintWriter(fos);
} catch (Exception e) {
System.out.print("Could not create/open file");
System.exit(0);
}
for(int i=1; i<=10; i++)
{
OutputStream.print(i+"\t"+(i*i));
}
}
}
完整的解决方案:
import java.io.*;
public class Number1 {
public static void main(String[] args) throws FileNotFoundException {
FileOutputStream fos = new FileOutputStream("Squares.txt");
PrintWriter square = null;
try{
square = new PrintWriter(fos);
}
catch (Exception e)
{
System.out.print("Could not create/open file");
System.exit(0);
}
for(int i=1; i<=10; i++)
{
square.print(i+"\t"+(i*i));
}
square.close();
}
}
OutputStream
没有 print
方法,即使有,也可能不是静态方法。
使用您的 PrintWriter
实例写入文件。
public static void main(String[] args) throws FileNotFoundException
{
FileOutputStream fos = new FileOutputStream("Squares.txt");
try{
PrintWriter square = new PrintWriter(fos);
for(int i=1; i<=10; i++) {
square.print(i+"\t"+(i*i));
}
square.close ();
}
catch (Exception e) {
System.out.print("Could not create/open file");
System.exit(0);
}
}
您是在 class OutputStream
上调用 print
,而不是在具有该功能的 class 实例上调用。你可能想要做的是
square.print(i+"\t"+(i*i));
您必须调用 square.print(i+"\t"+(i*i));
而不是 OutputStream.print(i+"\t"+(i*i));
为了让您的代码快速运行,
将 for 循环移动到 try{}
语句中,而不是错误地调用 OutputStream.print
,使用命令:square.print
你应该使用fos.write((i+"\t"+(i*i)).getBytes());
我正在尝试将数字 1-10 的平方输出到名为 Squares 的文件中,但 OutputStream.print(i+"\t"+(i*i));
部分出现错误。印刷品有下划线,我不明白为什么。请帮助我。
代码如下:
import java.util.*;
import java.io.*;
public class Number1 {
public static void main(String[] args) throws FileNotFoundException {
FileOutputStream fos = new FileOutputStream("Squares.txt");
PrintWriter square;
try{
square = new PrintWriter(fos);
} catch (Exception e) {
System.out.print("Could not create/open file");
System.exit(0);
}
for(int i=1; i<=10; i++)
{
OutputStream.print(i+"\t"+(i*i));
}
}
}
完整的解决方案:
import java.io.*;
public class Number1 {
public static void main(String[] args) throws FileNotFoundException {
FileOutputStream fos = new FileOutputStream("Squares.txt");
PrintWriter square = null;
try{
square = new PrintWriter(fos);
}
catch (Exception e)
{
System.out.print("Could not create/open file");
System.exit(0);
}
for(int i=1; i<=10; i++)
{
square.print(i+"\t"+(i*i));
}
square.close();
}
}
OutputStream
没有 print
方法,即使有,也可能不是静态方法。
使用您的 PrintWriter
实例写入文件。
public static void main(String[] args) throws FileNotFoundException
{
FileOutputStream fos = new FileOutputStream("Squares.txt");
try{
PrintWriter square = new PrintWriter(fos);
for(int i=1; i<=10; i++) {
square.print(i+"\t"+(i*i));
}
square.close ();
}
catch (Exception e) {
System.out.print("Could not create/open file");
System.exit(0);
}
}
您是在 class OutputStream
上调用 print
,而不是在具有该功能的 class 实例上调用。你可能想要做的是
square.print(i+"\t"+(i*i));
您必须调用 square.print(i+"\t"+(i*i));
而不是 OutputStream.print(i+"\t"+(i*i));
为了让您的代码快速运行,
将 for 循环移动到 try{}
语句中,而不是错误地调用 OutputStream.print
,使用命令:square.print
你应该使用fos.write((i+"\t"+(i*i)).getBytes());