java读取地址数据文件

时间:2024-03-07 20:55:19

在工作中遇到读取地址文件数据:

1、读取本地文件数据(如:D:\data.txt)

//适用于读取绝对地址文件
    public String getData(String path) {
        String str = "";
        try {
            File file = new File(path);// 定义一个file对象,用来初始化FileReader
            FileReader reader = new FileReader(file);// 定义一个fileReader对象,用来初始化BufferedReader
            BufferedReader bReader = new BufferedReader(reader);// new一个BufferedReader对象,将文件内容读取到缓存
            StringBuilder sb = new StringBuilder();// 定义一个字符串缓存,将字符串存放缓存中
            String s = "";
            while ((s = bReader.readLine()) != null) {// 逐行读取文件内容,不读取换行符和末尾的空格
                sb.append(s + "\n");// 将读取的字符串添加换行符后累加存放在缓存中
                System.out.println(s);
            }
            bReader.close();
            str = sb.toString();
            return str;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return str;
    }

2、读取网络地址文件(如:http://XXX/downloadFile/data.txt)

//适用于读取网络地址文件
     private String getUrlData(String path) {
             String content = "";
            try {
                URL url = new URL(path);
                //打开连接
                URLConnection conn = url.openConnection();
                //打开输入流
                InputStream is = conn.getInputStream();
                ByteArrayOutputStream outStream = new ByteArrayOutputStream();//用于保存读取的数据 
                //创建字节流--用于一次读取的长度
                byte[] bs = new byte[1024];
                int len;//读取长度
                //写数据
                while ((len = is.read(bs)) != -1) {
                    outStream.write(bs, 0, len);//将数据写入到数据流缓存outStream中
                }
                byte[] bb= outStream.toByteArray();//获取写入的流数据--字节流
                content = new String(bb);//将字节流数据转化为字符串数据
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return content;
        }

如果对你有帮助,倍感荣幸!转载请注明出处,谢谢!