有没有一种方法可以从GitHub读取文件并使用Java在控制台中打印?

有没有一种方法可以从GitHub读取文件并使用Java在控制台中打印?,java,Java,我想在Github中以java中的字符串形式存储一个文件,并在稍后的代码中对其进行处理。我该怎么做呢?我们可以在Java中执行curl命令,并使用基本身份验证来访问文件 URL url;String username="username",password="password",file=""; try { url = new URL("https://www.bitbucket.com/raw-file-url"); URLCon

我想在Github中以java中的字符串形式存储一个文件,并在稍后的代码中对其进行处理。我该怎么做呢?

我们可以在Java中执行curl命令,并使用基本身份验证来访问文件

URL url;String username="username",password="password",file="";
        try {
            url = new URL("https://www.bitbucket.com/raw-file-url");
            URLConnection uc;
            uc = url.openConnection();

            uc.setRequestProperty("X-Requested-With", "Curl");
            ArrayList<String> list=new ArrayList<String>();
            String userpass = username + ":" + password;
            String basicAuth = "Basic " + new String(new Base64().encode(userpass.getBytes()));//needs Base64 encoder, apache.commons.codec
            uc.setRequestProperty("Authorization", basicAuth);

            BufferedReader reader = new BufferedReader(new InputStreamReader(uc.getInputStream()));
            String line = null;
            while ((line = reader.readLine()) != null) 
                file=file+line+"\n";
            System.out.println(file);
            return file;

        } catch (IOException e) {
            System.out.println("Wrong username and password");
            return null;

        }
URL;字符串username=“username”,password=“password”,file=”“;
试一试{
url=新url(“https://www.bitbucket.com/raw-file-url");
urlc;
uc=url.openConnection();
uc.setRequestProperty(“X-Requested-With”,“Curl”);
ArrayList=新建ArrayList();
字符串userpass=username+“:”+密码;
String basicAuth=“Basic”+新字符串(new Base64().encode(userpass.getBytes());//需要Base64编码器,apache.commons.codec
uc.setRequestProperty(“授权”,basicAuth);
BufferedReader=新的BufferedReader(新的InputStreamReader(uc.getInputStream());
字符串行=null;
而((line=reader.readLine())!=null)
文件=文件+行+“\n”;
System.out.println(文件);
返回文件;
}捕获(IOE异常){
System.out.println(“错误的用户名和密码”);
返回null;
}

这是一种简单的java方法。。。 我使用标准java.net.URL api和Base64类连接github并打印json,如以下示例所示:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Base64;

public class GitConnect {
    public static void main(String... args) throws Exception {

        java.net.URL url = null;
        String username = "user";
        String password = "gitpwd";
        String file = "";
        try {
            url = new java.net.URL("https://raw.githubusercontent.com/lrjoshi/webpage/master/public/post/c159s.csv");
            java.net.URLConnection uc;
            uc = url.openConnection();

            uc.setRequestProperty("X-Requested-With", "Curl");
            java.util.ArrayList<String> list = new java.util.ArrayList<String>();
            String userpass = username + ":" + password;
            String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userpass.getBytes()));//needs Base64 encoder, apache.commons.codec
            uc.setRequestProperty("Authorization", basicAuth);

            BufferedReader reader = new BufferedReader(new InputStreamReader(uc.getInputStream()));
            String line = null;
            while ((line = reader.readLine()) != null)
                file = file + line + "\n";
            System.out.println(file);

        } catch (IOException e) {
            System.out.println("Wrong username and password");
        }
    }
}
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.util.Base64;
公共类GitConnect{
公共静态void main(字符串…参数)引发异常{
java.net.URL=null;
字符串username=“user”;
字符串password=“gitpwd”;
字符串文件=”;
试一试{
url=新的java.net.url(“https://raw.githubusercontent.com/lrjoshi/webpage/master/public/post/c159s.csv");
java.net.URLConnection;
uc=url.openConnection();
uc.setRequestProperty(“X-Requested-With”,“Curl”);
java.util.ArrayList=新建java.util.ArrayList();
字符串userpass=username+“:”+密码;
String basicAuth=“Basic”+新字符串(Base64.getEncoder().encode(userpass.getBytes());//需要Base64编码器,apache.commons.codec
uc.setRequestProperty(“授权”,basicAuth);
BufferedReader=新的BufferedReader(新的InputStreamReader(uc.getInputStream());
字符串行=null;
而((line=reader.readLine())!=null)
文件=文件+行+“\n”;
System.out.println(文件);
}捕获(IOE异常){
System.out.println(“错误的用户名和密码”);
}
}
}

使用库访问git repo?@Kayaman不是github提供自己的api吗?这可能只是一个HTTP GET调用。@xoxel使用HTTP库访问api?:)@Kayaman那不是我的意思(我很讽刺)^^,我的意思是Github提供了一个api,对吗?因此,使用他们自己的api:)应该很容易做到这一点,当然您可以使用HTTP库,HTTPClient也非常容易使用^^^将密码存储在可变容器中(
char[]
),并在使用后将其清除。