`
tenght
  • 浏览: 50464 次
社区版块
存档分类
最新评论

[java]文件操作

 
阅读更多


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;

/**
 *
 * @author 海兰
 */
public class FileUtil {


	public static String[] getUtfLines(String path) throws IOException {
		byte[] filebyte=readFile(path);
		String filestr=new String(filebyte,"UTF-8");
		String[] rev=filestr.split("\n");
		return rev;
	}

	
	
	public static String[] getLines(String path) throws IOException {
		byte[] filebyte=readFile(path);
		String filestr=new String(filebyte,"GBK");
		String[] rev=filestr.split("\n");
		return rev;
	}

	/**
     * 读文件
     *
     * @param path
     *        文件名
     * @return 文件内容
     * @throws IOException
     */
    public static byte[] readFile(String path) throws IOException
    {
        return readFile(path, 0);
    }

    /**
     * 读文件
     *
     * @param path
     *        文件名
     * @param offset
     *        偏移位置
     * @return 从偏移位置开始读取的文件内容
     * @throws IOException
     */
    public static byte[] readFile(String path, long offset)
            throws IOException
    {
        return readFile(path, offset, -1);
    }

	/**
     * 读文件
     *
     * @param path
     *        文件名
     * @param offset
     *        偏移位置
     * @param size
     *        读取大小
     * @return 从偏移位置开始读取size大小的文件内容
     * @throws IOException
     */
    public static byte[] readFile(String path, long offset, int size)
            throws IOException
    {
       InputStream is = null;
        try
        {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            is = new FileInputStream(path);
            is.skip(offset);
            byte[] buff = new byte[4096];
            int bufLength = -1;
            while ((bufLength = is.read(buff)) >= 0)
            {
                if (size > 0 && bufLength > size - baos.size())
                {
                    baos.write(buff, 0, size - baos.size());
                    break;
                } else
                {
                    baos.write(buff, 0, bufLength);
                }
            }
            return baos.toByteArray();
        } finally
        {
            if (is != null)
            {
                is.close();
            }
        }
    }

    /**
     * 写文件
     *
     * @param path
     *        文件名
     * @param content
     *        文件内容
     * @return 服务端保存文件的实际绝对路径
     * @throws IOException
     */
    public static String writeFile(String path, String content)
            throws IOException
    {
        byte[] matter=content.getBytes("GBK");
    	return writeFile(path, matter, false);
    }
    /**
     * 写文件
     *
     * @param path
     *        文件名
     * @param content
     *        文件内容
     * @param append
     *        追加方式
     * @return 服务端保存文件的实际绝对路径
     * @throws IOException
     */
    public static String writeFile(String path, String content,boolean append)throws IOException
    {
    	byte[] matter=content.getBytes("GBK");
    		return writeFile(path, matter, append);
    }

    public static String writeToFile(String savePath, String content)
    {
    	File f = new File(savePath);
    	if (f.exists())
    		f.delete();
    	try
    	{
    		PrintStream ps = new PrintStream(savePath);
    		String tmp[] = content.split("\n");
    		for (int i = 0; i < tmp.length; i++)
    			ps.println(tmp[i]);

    	}
    	catch (Exception e)
    	{
    		e.printStackTrace();
    	}
    	
    	return "";
    }

    /**
     * 写文件
     *
     * @param path
     *        文件名
     * @param content
     *        文件内容
     * @return 服务端保存文件的实际绝对路径
     * @throws IOException
     */
    public static String writeFile(String path, byte[] content)
            throws IOException
    {
        return writeFile(path, content, false);
    }

    /**
     * 写文件
     *
     * @param path
     *        文件名
     * @param content
     *        文件内容
     * @param append
     *        追加方式
     * @return 服务端保存文件的实际绝对路径
     * @throws IOException
     */
    public static String writeFile(String path, byte[] content,
            boolean append) throws IOException
    {
        if (path == null || path.length() == 0)
        {
            path = File.createTempFile("writeServerFile", ".file")
                    .getAbsolutePath();
        } else
        {
            path = new File(path).getAbsolutePath();
        }
        OutputStream os = null;
        try
        {
            os = new BufferedOutputStream(new FileOutputStream(path, append));
            os.write(content);
            os.flush();
        } finally
        {
            if (os != null)
            {
                os.close();
            }
        }
        return path;
    }

    /**
   * 获得该路径下的所有文件名的列表
   * @param Url
   * @return
   */
public static String[] getFileUrl(String Url)
{
   File path = new File(Url);
   String[] list;
   list=path.list();
   return list;
}

}



分享到:
评论

相关推荐

    java文件操作类

    java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...

    Java文件操作封装类

    Java文件操作封装类

    java文件操作工具类

    java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。

    Java文件操作源码大全

    Java文件操作是编程中常见的任务,涉及到文件的创建、删除、读取、写入以及更复杂的操作如复制、移动、加密、压缩等。以下是一些关键的Java文件操作知识点: 1. **创建文件夹**:使用`java.io.File`类的`mkdir()`或...

    java文件操作

    java 文件操作,创建文件,创建目录,删除文件目录

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    java文件操作大全

    如何在Java中操作文件呢?转载供大家欣赏

    java文件操作(增删改查)

    本项目"java文件操作(增删改查)"是基于控制台实现的一个无界面程序,利用Eclipse集成开发环境编写,实现了基本的文件管理功能。下面我们将深入探讨这些知识点。 首先,我们要了解Java中的`java.io`包,它是处理输入...

    Java文件操作一例:Copy 复制文件.rar

    Java文件操作一例:Copy 复制文件,虽然是复制文件,不过通过本源码你可以学习很多相关的Java基础技巧,比如Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器、如何得到选择文件的绝对路径、如何...

    java文件操作大全.chm

    java文件操作大全.chm

    java 文件操作工具

    java 文件操作 压缩文件 解压文件 复制文件 复制文件夹

    java 文件操作工具类

    java 文件操作工具类

    java 文件操作大全107种情况

    java 文件操作 包括 文件删除 导出jsp Word 格式文件 ,文件合并修改等。

    《Java文件操作大全》电子书

    《Java文件操作大全》电子书 本文汇集常用文件操作方法,包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。

    java 文件操作(对文件的输入输出)

    在Java编程语言中,文件操作是一项基础且重要的任务,它涉及到对文件的读取、写入、创建、删除等操作。文件操作主要依赖于Java的I/O(Input/Output)库,包括字节流(Byte Stream)和字符流(Character Stream),...

    Java文件操作大全

    最全的java文件操作大全,包括文件的存储,建立,判断文件是否存在,建立文件删除文件,附加源码!!!

    java 文件操作总汇

    java 文件操作 ;base64--转码与解码 ;excel --读写 ;properties--读 ; txt--读写 ; xml --读写 ;压缩包-- 解压,打包; zip --解压,打包 ;调用本地exe

    Java文件操作方法总结

    Java文件操作中的一些常用方法的总结,可以参考参考啦!

Global site tag (gtag.js) - Google Analytics