读取本地文件上传

本文提供了一个使用Java进行文件复制的简单示例。通过InputStream和FileInputStream从源文件读取数据,利用FileOutputStream将数据写入目标文件。该示例展示了如何通过循环读取源文件并写入目标文件来完成整个文件的复制过程。

Java读取本地一个文件,上传到本地另一个地方

package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class myTest {

    public static void main(String[] args) throws IOException {
        String loadPath = "E:/timg.jpg", outPath = "D:/uplode.jpg";
        InputStream in = new FileInputStream(new File(loadPath));
        FileOutputStream out = new FileOutputStream(new File(outPath));
        byte[] buffer = new byte[100];// 缓存大小
        int readNumber = 0;
        while ((readNumber = in.read(buffer)) != -1) {
            out.write(buffer, 0, readNumber);// 读取并输出buffer数组里面0~n个字节
        }
        in.close();
        out.close();
    }
}
以下为您提供不同场景下读取本地文件上传到服务器的示例代码: ### C++ 遍历本地文件夹并发送文件到服务器 ```cpp // 参数为文件夹路径 void sendFile(const char* Path) { // 遍历所有文件 WIN32_FIND_DATA FindFileData = {}; HANDLE hFileList = {}; // 要寻找的文件名 char filePath[MAX_PATH] = { 0 }; strcpy_s(filePath, Path); strcat_s(filePath, "\\*"); // 找到第一个文件 hFileList = FindFirstFile(filePath, &FindFileData); FindNextFile(hFileList, &FindFileData); // 第一个文件为".",代表当前文件夹 FindNextFile(hFileList, &FindFileData); // 第二个文件为"..",代表上一级文件夹 do { // 拼接文件名 char fileName[MAX_PATH] = { 0 }; strcpy_s(fileName, Path); strcat_s(fileName, "\\"); strcat_s(fileName, FindFileData.cFileName); SendtoServer(fileName); // 发送到服务器 } while (FindNextFile(hFileList, &FindFileData)); // 当找不到下一个文件,返回值为NULL,退出循环 } ``` 此代码会遍历指定文件夹下的所有文件,并调用 `SendtoServer` 函数将文件发送到服务器,不过 `SendtoServer` 函数的具体实现需要根据实际的网络通信协议来编写[^1]。 ### Java 使用 Spark 读取本地文件 ```java import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.VoidFunction; import org.apache.spark.sql.SparkSession; public class ReadLocalFile { private static final String INPUT_PATH = "your_local_file_path"; public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("demo").setMaster("local[*]"); SparkSession sparkSession = SparkSession.builder().config(conf).getOrCreate(); JavaSparkContext javaSparkContext = new JavaSparkContext(sparkSession.sparkContext()); JavaRDD<String> rdd = javaSparkContext.textFile(INPUT_PATH); rdd.foreach(new VoidFunction<String>() { @Override public void call(String s) throws Exception { System.out.println(s); } }); } } ``` 该代码借助 Spark 读取本地文件,并将文件内容逐行打印出来。若要上传到服务器,需结合具体的网络通信库(如 HttpClient)来实现文件上传功能[^4]。 ### Linux 系统使用 SCP 命令上传文件 在本地 Linux 操作系统主机上执行以下命令,可将文件传输到 Linux 操作系统云服务器: ```bash scp 本地主机文件地址 用户名@弹性公网IP:云服务器文件地址 ``` 例如,将本地文件 `/home/user/localfile.txt` 上传到服务器 `192.168.1.100` 的 `/root/` 目录下,命令如下: ```bash scp /home/user/localfile.txt root@192.168.1.100:/root/ ``` 此命令通过 SCP 协议将本地文件上传到远程服务器,前提是本地主机和远程服务器都支持 SCP 协议,并且您拥有相应的权限[^2]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值