java文件下载的utils_IOUtils方式上传下载文件

package com.css.hdfs04;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.net.URI;

import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FSDataInputStream;

import org.apache.hadoop.fs.FSDataOutputStream;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.junit.Before;

import org.junit.Test;

/**

* IOUtils方式上传下载文件

*/

public class HdfsIo {

Configuration conf = null;

FileSystem fs =null;

@Before

public void init() throws IOException, InterruptedException, URISyntaxException {

// 1.加载配置

conf = new Configuration();

// 2.构造客户端

fs = FileSystem.get(new URI("hdfs://192.168.146.132:9000/"), conf, "root");

}

/**

* 文件上传HDFS

*/

@Test

public void putFileToHDFS() throws IllegalArgumentException, IOException{

// 1.获取输入流

FileInputStream fis = new FileInputStream(new File("c:/hello.txt"));

// 2.获取输出流

FSDataOutputStream fos = fs.create(new Path("/hello.txt"));

// 3.流的拷贝

IOUtils.copyBytes(fis, fos, conf);

// 4.关闭资源

IOUtils.closeStream(fis);

IOUtils.closeStream(fos);

}

/**

* 文件下载HDFS

*/

@Test

public void getFileFromHDFS() throws IllegalArgumentException, IOException{

// 1.获取输入流

FSDataInputStream fis = fs.open(new Path("/hello"));

// 2.获取输出流

FileOutputStream fos = new FileOutputStream(new File("c:/hello"));

// 3.流的对拷

IOUtils.copyBytes(fis, fos, conf);

// 4.关闭资源

IOUtils.closeStream(fis);

IOUtils.closeStream(fos);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,我理解您的问题是如何在 Java 中调用其他 Java 文件并进行读写操作。下面是一个简单的示例: 假设有两个 Java 文件:Main.javaUtils.java。Main.java 中需要调用 Utils.java 中的方法,并进行文件读写操作。 首先,在 Main.java 中导入 Utils.java 文件: ```java import Utils.java; ``` 然后,可以在 Main.java 中创建 Utils 类对象,调用其中的方法,并进行文件读写操作: ```java public class Main { public static void main(String[] args) { // 创建 Utils 类对象 Utils utils = new Utils(); // 调用 Utils 中的方法 utils.someMethod(); // 进行文件读写操作 // 写文件 String content = "Hello, world!"; utils.writeToFile("test.txt", content); // 读文件 String readContent = utils.readFromFile("test.txt"); System.out.println(readContent); } } ``` 其中,Utils.java 中的代码可以是这样的: ```java import java.io.*; public class Utils { public void someMethod() { // 这里放需要调用的方法的代码 } public void writeToFile(String fileName, String content) { try { FileWriter writer = new FileWriter(fileName); writer.write(content); writer.close(); } catch (IOException e) { e.printStackTrace(); } } public String readFromFile(String fileName) { StringBuilder content = new StringBuilder(); try { FileReader reader = new FileReader(fileName); int c; while ((c = reader.read()) != -1) { content.append((char) c); } reader.close(); } catch (IOException e) { e.printStackTrace(); } return content.toString(); } } ``` 上述代码演示了如何在 Java 中调用其他 Java 文件,并进行文件读写操作。希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值