无法将输出写入 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());