发表于: 2020-09-24 22:15:55
0 1171
学习了Java IO流
创建文件
file.mkidr();
文件是否存在
file1.exists();
获取文件大小 /名称/路径/
file1.exists();
file2.getName();
file2.getPath();
file文件的递归
//递归 方法自己调用自己
File file1 = new File(pathname);
//判断文件是否为文件夹
boolean a = file1.isDirectory();
if (a) {
// 查询某个文件夹下的所有文件
File[] aa = file1.listFiles();
for (int i =0;aa!=null && i<aa.length;i++) {
boolean tf = aa[i].isDirectory();
if (tf) {
System.out.println("是");
showFile(aa[i].getPath());
} else {
System.out.println("不");
}
}
} else {
String a1 = file1.getPath();
System.out.println("no");
}
字节输入流
FileInputStream
字节输出流
FileOutputStream
字节缓冲输入流
BufferedInputStream
字节缓冲输出流
BufferedInputStream
他们都分别继承inputStream 和 outputStream
读写分别用 read 和 write方法
完成了图片的工具类
properties文件
AccessKeyID = AKLT6UbZoRzRQBWwPVcCzAUTbA
AccessKeySecret = OKFJqoamxofzJyIuWTiip0/SGlcMUHkQKLaj/+sNUyChBLxvhp+y7QPWcNMurtEuXw==
#设置服务地址
# 中国(北京)| ks3-cn-beijing.ksyun.com
# 中国(上海)| ks3-cn-shanghai.ksyun.com
# 中国(香港)| ks3-cn-hk-1.ksyun.com
# 中国(杭州)| kss.ksyun.com
# 中国(广州)| ks3-cn-guangzhou.ksyun.com
# 中国(青岛)| ks3-cn-qingdao.ksyun.com
# 金融专区(北京)| ks3-jr-beijing.ksyun.com
# 金融专区(上海)| ks3-jr-shanghai.ksyun.com
# 俄罗斯 | ks3-rus.ksyun.com
# 新加坡 | ks3-sgp.ksyun.com
#北京
address = ks3-cn-beijing.ksyun.com
<!-- 用Spring管理金山云图片储存的bean对象-->
<bean id="sendFile" class="com.mb.util.godCloudUpFileUtil">
<property name="AccessKeyID" value="${AccessKeyID}"></property>
<property name="AccessKeySecret" value="${AccessKeySecret}"></property>
<property name="address" value="${address}"></property>
</bean>
工具类
这里用了file的 getName方法 方法传进去啥名 还是啥名
package com.mb.util;
import com.ksyun.ks3.http.HttpClientConfig;
import com.ksyun.ks3.service.Ks3;
import com.ksyun.ks3.service.Ks3Client;
import com.ksyun.ks3.service.Ks3ClientConfig;
import com.ksyun.ks3.service.request.PutObjectRequest;
import java.io.File;
public class godCloudUpFileUtil {
//ID
private String AccessKeyID;
//密匙
private String AccessKeySecret;
//地址
private String address;
public String getAccessKeyID() {
return AccessKeyID;
}
public void setAccessKeyID(String accessKeyID) {
AccessKeyID = accessKeyID;
}
public String getAccessKeySecret() {
return AccessKeySecret;
}
public void setAccessKeySecret(String accessKeySecret) {
AccessKeySecret = accessKeySecret;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public void upFile(File file){
//储存空间
String bucket = "bobobo123";
//文件名
String key = file.getName();
//创建配置对象的实例
Ks3ClientConfig config = new Ks3ClientConfig();
config.setEndpoint(address);
// *true:表示以自定义域名访问
// *false:表示以KS3的外网域名或内网域名访问,默认为false
config.setDomainMode(false);
config.setProtocol(Ks3ClientConfig.PROTOCOL.http);
// true表示以 endpoint/{bucket}/{key}的方式访问,false表示以 {bucket}.endpoint/{key}的方式访问
// 如果domainMode设置为true,pathStyleAccess可忽略设置
config.setPathStyleAccess(false);
HttpClientConfig hconfig = new HttpClientConfig();
//在HttpClientConfig中可以设置httpclient的相关属性,比如代理,超时,重试等。
config.setHttpClientConfig(hconfig);
Ks3 client = new Ks3Client(AccessKeyID, AccessKeySecret, config);
/* 或者:client.setKs3config(config); */
//上传一个公开文件
//该方法需要三个参数,第一个参数为已经建好的存储空间名称。第二个参数为文件在KS3上保持的路径,比如:image.jpg,2015/10/19/image.jpg 等。第三个参数为要上传的文件对象。
PutObjectRequest request = new PutObjectRequest(bucket, key, file);
//request.setCannedAcl(CannedAccessControlList.PublicRead);
client.putObject(request);
}
}
测试
@Test
public void testSendImage(){
File file = new File("D:\\qwer.jpg");
try {
sendFile.upFile(file);
System.out.println("上传成功!");
}catch (Exception e ){
e.printStackTrace();
System.out.println("上传失败!");
}
}
评论