`
Sunflower-13
  • 浏览: 73294 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

文件输出流FileOutputStream练习

阅读更多
文件输出流FileOutputStream,课后练习的实现。要求:1.实现使用write(char[] cbuf)方法把中英文字符分别写入File。
2.实现使用write(int c)方法把中英文字符分别写入File。
实现结果:1.用write(char[] cbuf)方法是因为把字符串转换成了byte数组,故中英文字符都能写入,且不是乱码。
2.用write(int c)方法进行写入是是一个字节一个字节写入的,故写入时只有英文字符和数字字符是正常显式,中文字符是乱码,因为一个汉字是两个字节。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 1.实现使用write(char[] cbuf)方法把中英文字符分别写入File。
* 2.实现使用write(int c)方法把中英文字符分别写入File。
* @author Administrator
*
*/ class Outputwriteinti {

public static void main(String[] args) {
//用作使用write(char[] cbuf)方法时使用 写入英文字符
String s="asfgfhgjlkjjlqee";
//用作使用write(char[] cbuf)方法时使用 写入中文字符
String ss="今天天气好晴朗,处处好风光。";
//用作使用write(int c)方法时使用
String s1="asfgfhgjlkjjlqee-----今天天气好晴朗,处处好风光。------";

//创建输出流对象
FileOutputStream fx=null;
FileOutputStream fy=null;

//创建文件
File fa=new File("F:\\sun\\x.txt");
File fb=new File("F:\\sun\\y.txt");

// 文件如果不存在就创建
if(!fa.exists()){
try {
fa.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(!fb.exists()){
try {
fb.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

try {
//给输出流对象赋值
fx=new FileOutputStream(fa);
fy=new FileOutputStream(fb);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//用write(int c)方法 每次写入单个字符。
for(int i=0;i<s1.length();i++){
try {
fx.write(s1.charAt(i));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

//字符串变字符数组
byte [] b=s.getBytes();
byte [] bb=ss.getBytes();

try {
//将数据写入输出流对象
fx.write(b);
fy.write(b, 0, s.length()/2);
fx.write(bb);
fy.write(bb, 0, 12);//一个汉字是两个字节

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

finally {
//文件不为空的时候关闭文件(因为可能会创建失败 创建失败的话就为空 就不用关)
if(fx!=null){
try {
fx.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fy!=null){
try {
fy.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
  }
}


0
0
分享到:
评论

相关推荐

    Java-Io流,练习

    输入流用于从源(如文件、网络连接等)读取数据,而输出流则用于向目的地(如磁盘、显示器、网络等)写入数据。根据处理的数据单位,流又分为字节流(Byte Stream)和字符流(Character Stream)。 二、字节流与...

    JAVa输入输出流程序

    除此之外,Java还提供了缓冲流(Buffered)、转换流(InputStreamReader/OutputStreamWriter)、对象流(ObjectInputStream/ObjectOutputStream)以及文件流(FileInputStream/FileOutputStream)等特定功能的流。...

    java字符流练习.doc

    在打开流时,需要创建一个流对象,例如 FileInputStream 或者 FileOutputStream,然后使用 read() 或 write() 方法进行读写操作,最后使用 close() 方法关闭流。 在本练习中,我们将通过三个示例程序来演示 Java ...

    字节流字符流练习

    OutputStream则是所有字节输出流的基类,例如FileOutputStream、BufferedOutputStream等。这些类提供了读写字节的基本操作,如read()和write()方法。 字符流则专门用于处理文本数据,它以字符为单位进行操作。...

    程序设计第15章输入输出流和文件操作ppt课件.ppt

    - 字节流:如`FileInputStream`用于从文件读取字节数据,`FileOutputStream`用于向文件写入字节数据。它们是低级别的流,适合处理任何类型的数据。 - 字符流:` FileReader`和`FileWriter`是处理文本文件的字符流...

    5Java第五单元练习题-输入流与输出流.docx

    Java 输入流与输出流是Java I/O系统的基础,它们用于在程序与外部资源(如文件、网络连接等)之间传输数据。在Java中,数据的流动可以被抽象为流(Stream),分为字节流(Byte Stream)和字符流(Character Stream)...

    java输入输出流实习题

    在本例中,我们主要涉及的是文件输出流,因为我们要将日志信息写入到文件中。 要实现`MyLog`类,我们首先需要导入相关的Java I/O库,例如`java.io.File`,`java.io.FileOutputStream`,`java.io.PrintStream`等。`...

    Java IO(输入输出)案例练习

    例如,FileInputStream和FileOutputStream是最常见的字节流实现,分别用于读取和写入文件。在这个练习中,开发者可能会创建一个循环,逐字节地读取交易数据并写入到文件中,形成一个每日交易记录的日志。 接下来是...

    5Java第五单元练习题-输入流与输出流.pdf

    综上所述,Java中的输入流与输出流是核心的I/O概念,字符流与字节流各有其特定用途,理解它们的差异和使用场景对于进行有效的文件操作至关重要。在实际编程中,通常会结合使用缓冲流(如`BufferedReader`和`...

    8Java输入输出流

    Java输入输出流是Java编程语言中用于数据传输的核心组件,广泛应用于文件操作、网络通信以及数据的序列化与反序列化等场景。在Java中,I/O(Input/Output)流被设计为一种对象,它们能够读取或写入数据到不同的源和...

    (完整版)5Java第五单元练习题-输入流与输出流.pdf

    `FileOutputStream`用于写入字节流到文件,`FileWriter`用于写入字符流。 5. `BufferedInputStream`的构造方法通常接受一个`FileInputStream`作为参数,以提供缓冲功能。类似地,`BufferedReader`通常通过`...

    练习SWING和流

    例如,一个名为"MainFrame.java"的文件可能包含了Swing主窗口的定义,而"DataProcessor.java"可能包含了处理输入输出流的逻辑。 总结来说,这个练习项目涵盖了Swing GUI的构建和使用Java I/O流处理数据的基本概念。...

    Java输入、输出流.pdf

    在Java编程中,输入/输出流(Input/Output Stream)是处理数据传输的核心部分,无论是从键盘读取用户输入,还是将数据写入文件或网络。Java I/O流体系结构提供了一种统一的方式来处理不同类型的数据流,包括字节流和...

    java文件流学习实验

    例如,`new FileInputStream("file.txt")` 创建一个从指定文件读取数据的输入流,而`new FileOutputStream("output.txt")` 创建一个向指定文件写入数据的输出流。 3. **字符流与字节流**:Java还提供了字符流...

    Java输入、输出流[定义].pdf

    字节流以8位字节为基本单元,包括InputStream和OutputStream作为基类,衍生出众多子类,如FileInputStream和FileOutputStream用于文件操作,DataInputStream和DataOutputStream用于处理结构化数据,以及...

    io流的认识练习

    过滤流如`BufferedReader`和`PrintWriter`提供了一些高级功能,如缓冲、格式化输出等。对象序列化(Serialization)是将Java对象转化为字节流,以便存储或网络传输,这涉及到`ObjectOutputStream`和`...

    Java 字节流、字符流题目.docx

    字节输出流主要由`OutputStream`类及其子类代表,如`FileOutputStream`用于向文件写入字节数据。在实验中,练习一要求使用`FileOutputStream`向文件写出单个字节,而练习二则需要写出一个字节数组,这可以通过`write...

    day10_转换流、高效流-答案2

    3. **字节输出流** (`FileOutputStream`):用于向文件系统写入数据,同样需要通过文件路径创建。`write()`方法用于写入单个字节或字节数组。 4. **高效字节输出流** (`BufferedOutputStream`):此流为字节输出流...

    java基础知识IO流讲解和练习.rar

    Writer是所有字符输出流的超类,如FileWriter用于向文件写入字符数据。与字节流类似,它们也是抽象类,实际使用时需要使用特定的子类。 Java IO流还支持过滤流(Filter Stream)的概念,这是一种设计模式,允许我们...

    java输入输出操作

    在实际应用中,FileInputStream和FileOutputStream是最常用的文件输入输出流,用于读写文件。例如,要从一个名为“data.txt”的文件读取数据,可以创建一个FileInputStream实例,然后调用其read()方法。同样,若要向...

Global site tag (gtag.js) - Google Analytics