问题背景: 笔者所在的项目组最近把生产环境Tomcat迁移到Linux,算是顺利运行了一段时间,最近一个低概率密度的(too many open files)问题导致服务假死并停止响应客户端客户端请求. 进入服务器查看日志,发现tomcat凌晨6-7点的日志丢失,查看进程端口仍旧开放. root@# lsof -i: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java root 0t0 TCP *: (LISTEN) 从存档的日志找到一…
问题 前一阵子公司项目做了一次压力测试, 中间出现了一个问题: 在50多个并发的时候会出现 java.io.IOException: 打开的文件过多 这个异常. 但是在没有并发的时候是不会出现这个问题的. 这个问题的出现使得项目压力测试没有办法进行下去, 所以必须要尽快解决掉. 尝试查找原因1 首先我们这次的压力测试只是测试项目的首页, 这个页面仅仅是一个商品的列表. 没有在代码中写任何读取文件的操作, 商品的数量也不是很多, 只有10多款商品. 在自己开发用的电脑上也没有出现过这种问题. 所以…
这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调用,就是在方法的内部调用自己),实现文件夹里面的全部文件删除 注意:做这个测试的时候,一定要备份,如果删除成功就不会回复了 package com.teacher; import java.io.File; public class DeleteFile { public static void m…
单个文件复制 FileInputStream input=new FileInputStream("C://360//fay.jpg"); FileOutputStream output=new FileOutputStream("D://Test//fay2.jpg"); //读取文件内容 byte[] bytes=new byte[6]; int sum=0; while (input.read(bytes)==bytes.length){ output.wri…
一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内存流动,则是输入流,反之则是输出流 字节流:FileInputStream用来读取文件  FileOutputStream用来写入到文件 字符流:FileReader\BufferedReader用来读取文件 FileWrite\BufferedWrite用来写入到文件 二.操作用法 1.获取文件对…
package com.hp.io; import java.io.*; public class  BufferedReaderTest{ /** *@param   想想 */ public static void main(String args[]){ FileReader fr=null; BufferedReader br=null; try{ //创建一个FileReader对象,注意路径格式 fr=new FileReader("f:\\终于等到你.txt"); //创…
本次对比内容为:(jdk1.8) fileInputStream:最基本的文件读取(带自己声明的缓冲区) dataInputStream:字节读取,在<java编程思想>一书中描述为使用最多的读取文件方式(带自己声明的缓冲区) bufferedInputStream:带缓冲的读取方式(带自己声明的缓冲区) dataInputStream(bufferedInputStream):组合后的读取方式(带自己声明的缓冲区) bufferedReader:字符读取方式 channel:nio中的新的读…
RandomAccessFile类实现对文件内容的随机读写 文件内容的随机操作,重难点在于字符操作,具体查看API package org.zln.io.file; import java.io.IOException; import java.io.RandomAccessFile; /** * Created by coolkid on 2015/6/21 0021. */ public class TestRandonAccessFile { public static void main…
File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果文件存在,返回false booleanmkdir():创建目录,只能创建一级目录 booleanmkdirs():创建目录,可创建多级目录 删除 booleandelete():删除文件,如果文件不存在,返回false,如果删除的是目录,需要确保目录是空的 voiddeleteOnExit():程…
File类是一个与流无关的类.File类的对象可以获取文件及其文件所在的目录.文件的长度等信息. 1.File对象的常用构造方法. (1)File(String pathname) File file2 = new File("D:\\FileTest\\FileTest.txt"); (2)File(String path, String filename) File file2 = new File("D:\\FileTest\\FileTest.txt");…