`
heipark
  • 浏览: 2097022 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

谨慎使用java的PrintWriter类

    博客分类:
  • Java
 
阅读更多
	public void test() throws FileNotFoundException {
		PrintWriter writer = new PrintWriter(new File("test.log"));
		writer.println("abcd");
		writer.close();
		writer.println("1234");
	}

运行上面代码会出现什么结果:

  1. 程序没有抛出异常,居然!
  2. test.log内容为空

printWriter在写文件的时候,如果遇到错误是不会抛出异常的,需要调用checkError()方法才能得知是否出现异常,这对文件处理来说风险非常大,所以建议大家还是使用BufferedWriter吧!

分享到:
评论

相关推荐

    java File文件处理工具类

    Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作文件和目录的基础类。`File`对象代表了文件和目录路径名的抽象表示。在这个详细的讲解中,我们将深入探讨`File`类的各种功能,包括创建、读取、...

    JAVA解惑.pdf

    然而,反射也会影响性能,因此需要谨慎使用。 7. **泛型**:泛型是Java 5引入的一个重要特性,它可以提供类型安全的容器,防止在容器中存储不兼容的数据类型。泛型的使用可以提高代码的可读性和可维护性。 8. **...

    java程序设计课件

    10. **输入/输出系统**:Java提供了丰富的I/O库,包括File类、InputStream/OutputStream类以及更高级的BufferedReader和PrintWriter等。学习如何读写文件、处理网络流和序列化对象是必不可少的。 11. **线程编程**...

    java期末考试复习.rar

    了解InputStream和OutputStream的层次结构,以及BufferedReader和PrintWriter等类的用法,是进行数据交换的基础。 6. **多线程**:Java内置对多线程的支持,通过Thread类和Runnable接口可以创建并管理多个执行线程...

    java软件技术文档,阿里巴巴Java开发手册(华山版)

    - `synchronized`关键字谨慎使用,优先考虑使用`Lock`接口。 6. **IO与网络编程**: - 文件操作使用`try-with-resources`语句,确保资源被正确关闭。 - 使用`BufferedReader`和`PrintWriter`进行字符流操作,...

    (接上篇博客)Java SSH远程执行Shell脚本实现

    要使用JSch,你需要将其添加到项目的类路径中。 下面是一些关键步骤来实现SSH远程执行Shell脚本: 1. **创建JSch实例**: 首先,我们需要创建一个JSch实例,这是与SSH服务器建立连接的基础。 ```java JSch jsch ...

    java codesamples

    2. **IO流**:Java的`java.io`包中包含了各种输入/输出流类,如`FileInputStream`、`FileOutputStream`、`BufferedReader`、`PrintWriter`等,它们用于读写文件、网络通信等场景。理解流的概念和不同类型流的用途,...

    Java类库[借鉴].pdf

    - 对数据流类的改进,比如增加了更符合语义的方法,如 `close()`、`read()`、`ready()` 和 `write()`,增强了 `PrintStream` 和 `PrintWriter` 的可子类化性。 - 对象序列化过程变得更灵活,允许子类化 `...

    java 文件操作大全

    在Java中,我们可以使用`java.io.File`类来创建新的文件夹。例如: ```java import java.io.*; File myFolderPath = new File("新文件夹路径"); try { if (!myFolderPath.exists()) { myFolderPath.mkdir();...

    java学习笔记(下)

    ### Java学习笔记(下)——深入理解框架与核心技术 ...Java的反射机制虽然强大,但在实际开发中应谨慎使用,因为它可能破坏封装性和安全性,影响性能。通常用于框架开发、代码生成和单元测试等场景。

    传智播客视频JavaSE学习笔记

    `PrintStream`和`PrintWriter`类提供了方便的打印输出方法,常用于标准输出、日志记录等。 #### 十三、序列流 `SequenceInputStream`用于将多个流合并成一个流,常用于处理分段下载、文件合并等场景。 #### 十四...

    JAVA实现多线程的两种方法实例分享

    在 Java 中实现多线程主要有两种方法:继承 `Thread` 类和实现 `Runnable` 接口。这两种方法都可以帮助我们创建和管理线程,但它们各自有不同的适用场景和优缺点。 ### 1. 继承 `Thread` 类 当你创建一个新的类去...

    Java-HackerEarth

    了解如何创建和使用类、接口、抽象类以及理解构造函数和访问修饰符的作用至关重要。 3. **异常处理**: 学习Java中的try-catch语句,理解如何处理运行时错误和异常,这对于编写健壮的代码非常重要。 4. **集合框架*...

    HW5类

    综上所述,"HW5类"这个Java作业可能涵盖了许多核心的Java编程概念和技能,包括但不限于类的设计、异常处理、集合的使用、文件操作以及多线程编程。通过完成这样的作业,学生可以加深对Java语言的理解,并提高其编程...

    zy

    理解类与对象的概念,学会创建和使用类,掌握继承和多态的实现方式,能让你写出更符合现实世界模型的代码。 3. **异常处理**:Java中的异常处理是程序健壮性的重要保障。学会使用try-catch-finally语句块,理解...

    Servlet 简单使用

    2. 注解配置:使用`@WebServlet`注解可以直接在Servlet类上声明URL映射,简化配置。例如: ```java @WebServlet("/myservice") public class MyServlet extends HttpServlet { // ... } ``` 三、请求处理 Servlet...

    深入研究Servlet线程安全性问题

    Java的`synchronized`关键字可用于此目的,但应谨慎使用,以免引入性能瓶颈。 3. **使用线程局部变量**:利用`ThreadLocal`类可以为每个线程提供独立的变量副本,从而避免线程间的干扰。这种方式既保证了线程安全,...

    代码编程安全规范

    9. **输入输出**:使用安全的I/O操作,如`BufferedReader`和`PrintWriter`等,避免使用不安全的I/O类(如`DataInputStream`和`ObjectInputStream`),以减少潜在的安全风险。 10. **序列化**:谨慎对待对象序列化,...

    gcj-io:Google Code Jam IO

    可以使用`BufferedReader`和`PrintWriter`类来提高读写速度,这两个类提供了缓冲功能,减少了频繁的系统调用。 ```java BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); PrintWriter ...

Global site tag (gtag.js) - Google Analytics