Java保存数据到文件、上传文件到七牛云

保存数据到文件

        //保存为json文件
        String desktopDir = System.getProperty("user.home") + "\\Desktop\\";  //本地路径
        JSONObject jsonObject = new JSONObject();
        BufferedWriter writer = null;
        File file = new File(desktopDir + "all_freeip.json");
        //如果文件不存在,则新建一个
        if(!file.exists()){
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //写入
        try {
            writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file,false), "UTF-8"));
            writer.write(jsonObject.toJSONString(ips));
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if(writer != null){
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        logger.info("json文件写入成功!");

上传文件到七牛云

import java.io.IOException;

import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import com.qiniu.util.StringMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author xdragon
 * @Description TODO
 * @createTime 2021年11月23日
 */
public class QiniuUploadQuartz {
    private Logger logger = LoggerFactory.getLogger(this.getClass());

    public static final String ACCESS_KEY = "xxxxxx";  //你的access_key
    public static final String SECRET_KEY = "xxxxxx";  //你的secret_key
    public static final String BUCKET_NAME = "xxxxxx";   //要上传的空间

    //本地路径
    String desktopDir = System.getProperty("user.home") + "\\Desktop\\";

    //上传到七牛后保存的文件名
    String key = "all_freeip.json";
    //上传文件的路径
    String FilePath = desktopDir + "all_freeip.json";  //本地要上传文件路径

    //密钥配置
    Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
    // 构造一个带指定Zone对象的配置类
    Configuration cfg = new Configuration(Zone.zone2());
    //创建上传对象
    UploadManager uploadManager = new UploadManager(cfg);

    public String getUpToken(){
//	      return auth.uploadToken(bucketname);
        //<bucket>:<key>,表示只允许用户上传指定key的文件。在这种格式下文件默认允许“修改”,已存在同名资源则会被本次覆盖。
        //如果希望只能上传指定key的文件,并且不允许修改,那么可以将下面的 insertOnly 属性值设为 1。
        //第三个参数是token的过期时间
        return auth.uploadToken(BUCKET_NAME, key, 3600, new StringMap().put("insertOnly", 0 ));
    }

    public void upload() throws IOException{
        try {
            //调用put方法上传
            Response res = uploadManager.put(FilePath, key, getUpToken());
            //打印返回的信息
            System.out.println(res.bodyString());
        } catch (QiniuException e) {
            Response r = e.response;
            // 请求失败时打印的异常的信息
            logger.info(r.toString());
            try {
                //响应的文本信息
                logger.info(r.bodyString());
            } catch (QiniuException e1) {
                //ignore
            }
        }
    }

    public static void main(String args[]) throws IOException {
        new QiniuUploadQuartz().upload();
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,您需要安装七牛云 Java SDK,可以使用以下命令安装: ``` $ mvn install com.qiniu:qiniu-java-sdk:7.2.14 ``` 然后,您可以使用以下代码实现后端文件接口: ```java import com.qiniu.common.QiniuException; import com.qiniu.http.Response; import com.qiniu.storage.Configuration; import com.qiniu.storage.Region; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; import com.qiniu.util.Auth; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class FileUploader { private static final String ACCESS_KEY; private static final String SECRET_KEY; private static final String BUCKET; private static final String DOMAIN; static { Properties prop = new Properties(); try { prop.load(new FileInputStream("config.properties")); } catch (IOException e) { e.printStackTrace(); } ACCESS_KEY = prop.getProperty("ACCESS_KEY"); SECRET_KEY = prop.getProperty("SECRET_KEY"); BUCKET = prop.getProperty("BUCKET"); DOMAIN = prop.getProperty("DOMAIN"); } public static String upload(String filePath) { // 构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.region2()); // 其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); // 生成上凭证,然后准备上 Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); String upToken = auth.uploadToken(BUCKET); try { Response response = uploadManager.put(filePath, null, upToken); // 解析上成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); return DOMAIN + "/" + putRet.key; } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { // ignore } return null; } } } ``` 在上

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值