public void test() throws FileNotFoundException { PrintWriter writer = new PrintWriter(new File("test.log")); writer.println("abcd"); writer.close(); writer.println("1234"); }
运行上面代码会出现什么结果:
- 程序没有抛出异常,居然!
- test.log内容为空
printWriter在写文件的时候,如果遇到错误是不会抛出异常的,需要调用checkError()方法才能得知是否出现异常,这对文件处理来说风险非常大,所以建议大家还是使用BufferedWriter吧!
相关推荐
Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作文件和目录的基础类。`File`对象代表了文件和目录路径名的抽象表示。在这个详细的讲解中,我们将深入探讨`File`类的各种功能,包括创建、读取、...
然而,反射也会影响性能,因此需要谨慎使用。 7. **泛型**:泛型是Java 5引入的一个重要特性,它可以提供类型安全的容器,防止在容器中存储不兼容的数据类型。泛型的使用可以提高代码的可读性和可维护性。 8. **...
10. **输入/输出系统**:Java提供了丰富的I/O库,包括File类、InputStream/OutputStream类以及更高级的BufferedReader和PrintWriter等。学习如何读写文件、处理网络流和序列化对象是必不可少的。 11. **线程编程**...
了解InputStream和OutputStream的层次结构,以及BufferedReader和PrintWriter等类的用法,是进行数据交换的基础。 6. **多线程**:Java内置对多线程的支持,通过Thread类和Runnable接口可以创建并管理多个执行线程...
- `synchronized`关键字谨慎使用,优先考虑使用`Lock`接口。 6. **IO与网络编程**: - 文件操作使用`try-with-resources`语句,确保资源被正确关闭。 - 使用`BufferedReader`和`PrintWriter`进行字符流操作,...
要使用JSch,你需要将其添加到项目的类路径中。 下面是一些关键步骤来实现SSH远程执行Shell脚本: 1. **创建JSch实例**: 首先,我们需要创建一个JSch实例,这是与SSH服务器建立连接的基础。 ```java JSch jsch ...
2. **IO流**:Java的`java.io`包中包含了各种输入/输出流类,如`FileInputStream`、`FileOutputStream`、`BufferedReader`、`PrintWriter`等,它们用于读写文件、网络通信等场景。理解流的概念和不同类型流的用途,...
- 对数据流类的改进,比如增加了更符合语义的方法,如 `close()`、`read()`、`ready()` 和 `write()`,增强了 `PrintStream` 和 `PrintWriter` 的可子类化性。 - 对象序列化过程变得更灵活,允许子类化 `...
在Java中,我们可以使用`java.io.File`类来创建新的文件夹。例如: ```java import java.io.*; File myFolderPath = new File("新文件夹路径"); try { if (!myFolderPath.exists()) { myFolderPath.mkdir();...
`PrintStream`和`PrintWriter`类提供了方便的打印输出方法,常用于标准输出、日志记录等。 #### 十三、序列流 `SequenceInputStream`用于将多个流合并成一个流,常用于处理分段下载、文件合并等场景。 #### 十四...
在 Java 中实现多线程主要有两种方法:继承 `Thread` 类和实现 `Runnable` 接口。这两种方法都可以帮助我们创建和管理线程,但它们各自有不同的适用场景和优缺点。 ### 1. 继承 `Thread` 类 当你创建一个新的类去...
了解如何创建和使用类、接口、抽象类以及理解构造函数和访问修饰符的作用至关重要。 3. **异常处理**: 学习Java中的try-catch语句,理解如何处理运行时错误和异常,这对于编写健壮的代码非常重要。 4. **集合框架*...
综上所述,"HW5类"这个Java作业可能涵盖了许多核心的Java编程概念和技能,包括但不限于类的设计、异常处理、集合的使用、文件操作以及多线程编程。通过完成这样的作业,学生可以加深对Java语言的理解,并提高其编程...
理解类与对象的概念,学会创建和使用类,掌握继承和多态的实现方式,能让你写出更符合现实世界模型的代码。 3. **异常处理**:Java中的异常处理是程序健壮性的重要保障。学会使用try-catch-finally语句块,理解...
2. 注解配置:使用`@WebServlet`注解可以直接在Servlet类上声明URL映射,简化配置。例如: ```java @WebServlet("/myservice") public class MyServlet extends HttpServlet { // ... } ``` 三、请求处理 Servlet...
Java的`synchronized`关键字可用于此目的,但应谨慎使用,以免引入性能瓶颈。 3. **使用线程局部变量**:利用`ThreadLocal`类可以为每个线程提供独立的变量副本,从而避免线程间的干扰。这种方式既保证了线程安全,...
9. **输入输出**:使用安全的I/O操作,如`BufferedReader`和`PrintWriter`等,避免使用不安全的I/O类(如`DataInputStream`和`ObjectInputStream`),以减少潜在的安全风险。 10. **序列化**:谨慎对待对象序列化,...
可以使用`BufferedReader`和`PrintWriter`类来提高读写速度,这两个类提供了缓冲功能,减少了频繁的系统调用。 ```java BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); PrintWriter ...