public void printOperation() throws IOException { //定义一个字节输出流对象 FileOutputStream fos = new FileOutputStream("123.txt"); //定义三角形位置 System.out.println("请设置三角形三点位置:"); Scanner sc = new Scanner(System.in); System.out.println("1顶点Xn值:"); this.xn1 = sc.nextInt(); System.out.println("1顶点Yn值:"); this.yn1 = sc.nextInt(); System.out.println("2顶点Xn值:"); this.xn2 = sc.nextInt(); System.out.println("2顶点Yn值:"); this.yn2 = sc.nextInt(); System.out.println("3顶点Xn值:"); this.xn3 = sc.nextInt(); System.out.println("3顶点Yn值:"); this.yn3 = sc.nextInt();
时间: 2023-05-25 20:05:36 浏览: 103
//定义一个PrintWriter对象,用于输出到文件
PrintWriter pw = new PrintWriter(new OutputStreamWriter(fos)); //将三角形位置及周长面积输出到文件
pw.println("三角形三点位置:");
pw.println("1顶点坐标:(" + this.xn1 + "," + this.yn1 + ")");
pw.println("2顶点坐标:(" + this.xn2 + "," + this.yn2 + ")");
pw.println("3顶点坐标:(" + this.xn3 + "," + this.yn3 + ")");
pw.println("三角形周长:" + this.getPerimeter());
pw.println("三角形面积:" + this.getArea()); //关闭pw和fos流
pw.close();
fos.close();
}
//这段代码是用于设置三角形的位置并将其周长和面积输出到文件中的。首先定义了一个FileOutputStream对象fos用于写入文件,然后使用Scanner对象让用户输入三角形的三个顶点坐标,之后使用PrintWriter对象pw将这些值输出到文件中。最后要记得关闭pw和fos流。
相关问题
package dailyioStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamDemo01 { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("src\\dailyioStream\\fos.txt"); /* 这里创建了字节输出流对象 fos 创建字节输出流对象这里一共有三步操作: 1.调用了系统功能创建了文件 2.创建了字节流输出对象 3.让字节输出流对象指向创建好的文件 */ fos.write(97);//写到低层是97(ASCII码),但是我们打开文件内容是a fos.write(57); fos.write(55); fos.close();//释放资源,关闭此文件输出流释放并与此流相关联的任何系统资源 } }
这段代码是用Java语言实现的文件输出,将字符'a'、'9'和'7'写入到指定的文件夹和文件名中的fos.txt文件里。其中,先通过FileOutputStream类创建一个输出流对象fos,然后通过调用该对象的write()方法将字符写入到输出流中,最后通过close()方法关闭输出流并释放相关的系统资源。
@Test public void TestObjectOutputStream() throws IOException{ String name = "John Smith"; //创建文件输出流对象,将数据写入name.txt FileOutputStream fos=new FileOutputStream("src/test11/name.txt",true); //创建对象输出流输出对象 ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(name); oos.flush(); oos.close(); }这个代码为什么会多出来一行乱码
这个问题的原因可能是由于你设置了文件输出流的追加模式,即在原有文件内容的基础上继续写入新的内容,导致文件中存在多个序列化对象,而读取时只读取了第一个对象,后面的对象无法正确反序列化,因此会出现乱码。建议将文件输出流的追加模式去掉,或者在读取文件时使用循环读取所有序列化对象。另外,当你在写入对象时,应该在程序结束时关闭文件输出流和对象输出流。
阅读全文