- 浏览: 457907 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
飞天奔月:
我来个简单点的代码 使用 LinkedHashSetpubli ...
ArrayList去重 -
飞天奔月:
public static <T> List< ...
ArrayList去重 -
aaron7524:
事务隔离级别 -
月陨殇:
wlh269 写道rswh110 写道lz内容写的不错,就是略 ...
事务隔离级别 -
lnx1824:
我的更奇怪,在本地静态的可以,放jetty里的页面后就不然,都 ...
JS得到上传图片尺寸
例子:写文件,在文件末尾追加文字并且指定输出文件内容字符编码为utf-8:
备注:只有字符流可以确定编码,因为字符编码是对应字符的,无法对字节流编码,所以我们得找到一个Writer的子类来指定输出字符的编码.
有的时候直接调用file.delete();时候,删除文件可能不成功!面对这种情况,首先确保file对象句柄的锁定是否释放,例如某输出流是否关闭。此外jkd1.5之后关闭流释放资源有一些延时,我们最好调用垃圾回收机制,去释放资源!
判断文件是否为空
文件末尾追加一行
读取文件最后一行
拷贝文件
文件末尾追加文字
备注:只有字符流可以确定编码,因为字符编码是对应字符的,无法对字节流编码,所以我们得找到一个Writer的子类来指定输出字符的编码.
OutputStreamWriter osw=null; FileOutputStream fos=null; //文件末尾追加,构造方法第二个参数true来确定 fos = new FileOutputStream(file,true); //指定输出文件内容编码为utf-8,构造方法第二个参数true来确定 OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");
有的时候直接调用file.delete();时候,删除文件可能不成功!面对这种情况,首先确保file对象句柄的锁定是否释放,例如某输出流是否关闭。此外jkd1.5之后关闭流释放资源有一些延时,我们最好调用垃圾回收机制,去释放资源!
/* * 删除文件 * @param file * @return */ protected boolean delFile(File file){ boolean result = false; int tryCount = 0; while(!result && tryCount++ <10){ System.gc(); result = file.delete(); LOG.info("删除文件:"+file.getAbsolutePath()+","+result); } return result; }
判断文件是否为空
/* * 判断文件是否为空 * @param sendSMSfile * @return */ protected boolean NotEmptyFile(File sendSMSfile) { FileReader fr=null; BufferedReader br=null; try { fr=new FileReader(sendSMSfile); br=new BufferedReader(fr); if(br.readLine()!=null) return true; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { if(br!=null){ br.close(); } if(fr!=null){ fr.close(); } } catch (IOException e) { e.printStackTrace(); } } return false; }
文件末尾追加一行
/* * 文件末尾添加结束标记 * @param file * @param mark * @return */ protected void appendNewLine(File file,String content){ FileWriter fw=null; try { fw=new FileWriter(file.getPath(),true); //fw.write("\n"); fw.write(content); } catch (IOException e) { e.printStackTrace(); }finally{ try{ if(fw!=null){ fw.close(); } }catch(IOException e){ e.printStackTrace(); } } }
读取文件最后一行
/** * 文件完整传输 * @param file * @param charset * @return */ private String readLastLine(File file, String charset) { if (!file.exists() || file.isDirectory() || !file.canRead()) { return null; } RandomAccessFile raf = null; try { raf = new RandomAccessFile(file, "r"); long len = raf.length(); if (len == 0L) { return ""; } else { long pos = len - 1; while (pos > 0) { pos--; raf.seek(pos); if (raf.readByte() == '\n') { break; } } if (pos == 0) { raf.seek(0); } byte[] bytes = new byte[(int) (len - pos)]; raf.read(bytes); if (charset == null) { return new String(bytes); } else { return new String(bytes, charset); } } } catch (FileNotFoundException e) { } catch (IOException e) { e.printStackTrace(); } finally { if (raf != null) { try { raf.close(); } catch (Exception e2) { } } } return null; }
拷贝文件
package com.wlh.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Test { static String srcDir="D:\\SOCKET\\server_fa";//全局 static String descDir="D:\\SOCKET\\ABC";//全局 public static void main(String[] args) throws IOException { //copyFile(srcDir,descDir); deleteDirectory(new File(srcDir)); } /** * 拷贝目录 * @param srcs * @param desc * @throws IOException */ public static void copyFile(String srcs,String desc) throws IOException{ File srcdir=new File(srcs); File descdir=new File(desc); if(!descdir.exists()){ descdir.mkdirs(); } File [] files=srcdir.listFiles(); for (int i = 0; i < files.length; i++) { if(files[i].isFile()){ FileInputStream in=new FileInputStream(files[i]); File file=new File(desc+File.separator+files[i].getName()); if(!file.exists()) file.createNewFile(); FileOutputStream out=new FileOutputStream(file); int c; byte buffer[]=new byte[1024]; while((c=in.read(buffer))!=-1){ for(int k=0;k<c;k++) out.write(buffer[k]); } in.close(); out.close(); }else{ copyFile(files[i].getAbsolutePath(),descDir+files[i].getAbsolutePath().substring(srcDir.length())); } } } [color=red][b]删除一个目录[/b][/color] /** * 递归删除一个目录以及下面的文件 */ public static boolean deleteDirectory(File path) { if( path.exists() ) { File[] files = path.listFiles(); for(int i=0; i<files.length; i++) { if(files[i].isDirectory()) { deleteDirectory(files[i]); } else { //删除文件 files[i].delete(); } } } //删除目录 boolean hasdelete=path.delete(); if(hasdelete){ System.out.println("删除目录:"+path); } return hasdelete; } }
文件末尾追加文字
public class FileAppendTest { /** * 利用FileoutStream构造方法的每二个参数实现内容的追加 * @param f 文件 * @param context 所要追加的内容 */ public static void append01(File f,String context) throws Exception{ BufferedWriter br = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(f,true))); br.write(context); br.flush(); br.close(); } /** * 利用FileWriter构造方法中的第二个参数实现内容的追加 * @param f 文件 * @param context 内容 */ public static void append02(File f,String context)throws Exception{ FileWriter fw = new FileWriter(f, true); fw.write(context); fw.flush(); fw.close(); } /** * 利用RandomAccessFile的seek()方法, * 将写文件指针移至文件末尾,实现内容的追加 * @param f 文件 * @param context 内容 */ public static void append03(File f,String context)throws Exception{ RandomAccessFile raf = new RandomAccessFile(f, "rw"); raf.seek(raf.length());//将写文件指针移至文件末尾 raf.writeBytes(context); raf.close(); } }
发表评论
-
java开发实战视频详解
2017-07-02 08:09 519java开发实战视频详解 链接: http://pan.bai ... -
ArrayList去重
2013-04-25 10:18 3323public static List removeDuplic ... -
java ArrayList 自定义排序
2013-04-22 11:39 2170import java.util.ArrayList; imp ... -
按照指定编码读取配置文件
2012-12-13 10:17 907BufferedReader reader = new Buf ... -
java读取系统编码
2012-12-13 09:45 902public static void main(String[ ... -
Axis2和现有项目的集成
2011-08-11 10:08 1409axis2和现有项目集成 1.下载axis2-1.5-war. ... -
阻塞队列
2010-09-03 08:54 1230ArrayBlockingQueue为阻塞队列,加入和取出元素 ... -
axis2和JDK1.5开发(文件传输服务)详解二(图解)
2010-06-28 16:36 22995.生成webservice服务端代 ... -
产生随机字符串
2010-05-05 17:13 1069import java.util.Random; p ... -
FileChannel锁定文件
2009-09-22 10:52 2423当FileLock fl = fc.tryLock();执行成 ... -
SOCKET 文件传输
2009-09-21 15:47 4258要求将服务端文件夹A下的文件拷贝到客户端文件A下 删除服务端文 ... -
ZIP 压缩 和解压缩
2009-09-21 15:40 1136package com.socket.zip.util; ... -
Oracle number类型查询精度丢失问题
2009-08-21 16:00 6808一、需求中要求查到一个字段的值然后保持小数点后2位 ... -
Oracle number类型数据取出来后四舍五入到小数点后2位
2009-08-19 10:46 8138package com.wlh.test; impo ... -
将汉字编码为unicode
2009-07-28 10:26 896package test; import java. ... -
验证码
2009-07-05 17:29 1293验证servlet: package edu.yale. ... -
java.util.Date对象和String对象转换 SimpleDateFormat
2009-06-30 15:35 3076import java.text.ParseExcept ... -
Socket高级编程 多客户端
2009-06-26 14:03 2572客户端: package com.wlh.test; ... -
进制转换
2009-06-18 12:48 116516进制和字符串之间转换--- import java ... -
bat 命令学习
2009-06-01 23:59 11381.Echo 命令 打开回显或关闭请求回显功能,或显示消 ...
相关推荐
Java中的IO操作是编程中必不可少的部分,主要用于处理输入和输出数据。本文将深入探讨Java IO中的常用类及其继承结构,帮助读者理解这个复杂但重要的体系。 首先,Java IO分为两个主要部分:字节流(Byte Stream)...
Java IO操作是Java编程中非常基础且重要的部分,它提供了对输入输出流的处理,使得程序能够与外部设备(如硬盘、网络、键盘、显示器等)进行数据交换。本工具结合了Java IO操作和JXL库,实现了读取Excel文件并进行...
### Linux文件IO操作详解 #### 基本概念 Linux 文件 I/O 操作是学习 Linux 应用开发的基础,尤其对于初学者来说至关重要。本文旨在详细介绍 Linux 下的文件 I/O 操作及其相关概念。 #### 文件 在 Linux 系统中,...
其中,signal driven IO 在实际中并不常用,因此这里只讨论剩下的四种IO 模型。 总结 在本文中,我们讨论了基于系统底层通信技术Socket 的JAVA IO同步和异步操作,包括阻塞和非阻塞IO 操作。同步IO 是指应用程序在...
标题中的“AB常用IO接线大全”指的是Allen Bradley(AB)公司的I/O模块接线的综合指南。Allen Bradley是美国Rockwell Automation旗下的知名品牌,主要生产工业自动化设备,尤其是PLC(可编程逻辑控制器)产品。这个...
下面将详细介绍一下ABB机器人常用的IO板及其功能。 1. **数字输入板(Digital Input Board)**: 数字输入板用于接收来自外部系统的数字信号,例如限位开关、按钮或传感器的开/关状态。这些信号通常为二进制形式,...
当机器人重启后,默认会显示设定的常用IO信号,无论是在手动还是自动模式下,无需人工干预即可显示。 ##### 2. 设定步骤 - **步骤1**:通过ABB菜单进入**控制面板**,找到**常用IO配置**选项。 - **步骤2**:配置...
1. **fwrite**:最常用的文件写入接口,在用户进程空间开辟缓冲区,将多次小数据量的写操作合并成一次大的写操作,最终通过 `write` 系统调用执行。 2. **write**:触发用户态到内核态的切换,将数据从 Application ...
PCI9054是一款常用的PCI(Peripheral Component Interconnect)接口控制器,主要用于实现系统与扩展设备之间的数据传输。在计算机硬件设计中,理解如何通过PCI9054进行I/O(输入/输出)读写操作至关重要,因为这是...
Java NIO(New IO)提供了非阻塞的IO操作,通过选择器(Selector)可以同时监听多个通道,提高了IO性能。Java 7引入了NIO.2,引入了Path、Files、Paths等新类,使得文件操作更加简洁。 总结,Java中的IO文件流操作...
总之,AB全系列常用IO接线大全为技术人员提供了一套详细的接线方法和安全指南,是使用AB系列PLC时不可或缺的参考资料。通过对各个型号I/O模块的理解和正确的接线操作,可以确保整个控制系统的可靠运行。
2. **多平台支持**:作为一个Web应用,draw.io可以在任何有浏览器的设备上运行,包括Windows、Mac、Linux等操作系统。 3. **丰富的模板库**:内含大量预设模板,涵盖各种用途,如组织架构图、流程图、概念图、逻辑...
4. 字符集转换:`Charsets` 类提供了对常用字符集的支持,使得在处理编码问题时更加方便。 5. 对象序列化:`SerializationUtils` 提供了序列化和反序列化对象的实用方法,简化了对象的持久化过程。 6. 文件比较:`...
Java IO操作总括 在Java编程中,IO(Input/Output)操作是处理数据输入和输出的核心技术。本文将深入探讨Java IO系统的基本概念、主要类库以及它们在实际开发中的应用。 一、Java IO系统概述 Java的IO库提供了一...
通过学习“第八次课IO操作二”,开发者能掌握Java IO的基本原理和常用操作,为实现各种复杂的文件系统交互和数据传输场景打下坚实基础。在实际开发中,熟练运用这些知识可以提高程序的稳定性和效率。
### 电脑常用IO芯片F71883FG的Datesheet关键知识点解析 #### 一、概述 在电脑硬件领域,尤其是主板设计中,IO控制芯片扮演着至关重要的角色。本文将详细介绍F71883FG这款电脑主板常用IO控制芯片的相关知识点,包括...
Java 文件操作与IO流是Java编程中的核心概念,主要用于数据的读取、写入和传输。在Java中,文件操作通常涉及到`java.io`包下的类,如`File`、`FileOutputStream`、`OutputStreamWriter`和`BufferedWriter`等。下面将...
C++的IO操作是编程中不可或缺的一部分,它允许程序与用户进行数据交互。在C++中,IO操作主要涉及标准库中的`iostream`和相关的头文件,如`iomanip`。`iomanip`头文件提供了操纵符(manipulator),这是一种特殊类型...
总结来说,“io0007-find_progress”项目是针对IO操作和HTTP通信的实用工具库,它通过一系列精心设计的函数和类,简化了开发过程中涉及文件和网络交互的部分,提高了代码的效率和易用性。对于处理大量文件操作或网络...