小编Alb*_*rto的帖子

Java HttpURLConnection - 使用Cookie进行POST

我正在尝试发送带有cookie的帖子请求.这是代码:

try {

    String query = URLEncoder.encode("key", "UTF-8") + "=" + URLEncoder.encode("value", "UTF-8");
    String cookies = "session_cookie=value";
    URL url = new URL("https://myweb");
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

    conn.setRequestProperty("Cookie", cookies);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);

    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    out.writeBytes(query);
    out.flush();
    out.close();

    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String decodedString;
    while ((decodedString = in.readLine()) != null) {
        System.out.println(decodedString);
    }
    in.close();

    // Send the request to the server
    //conn.connect();
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

问题是请求是在没有cookie的情况下发送的.如果我只做:conn.connect(); …

java cookies post httpurlconnection

11
推荐指数
1
解决办法
3万
查看次数

需要删除对象:实现在函数中处理或创建对象?

我有一些对象读取文件,将数据保存在数组中并进行一些操作.序列是创建对象A,使用对象A操作.创建对象B,使用对象B操作...每个对象读取的数据可能大约为10 MB.因此,最好的选择是在每个对象操作后删除每个对象.假设我希望我的程序在内存中分配大约10 MB,而不是10MB*1000对象= 1GB

对象类似于:

class MyClass
{  
    List<string[]> data;

    public MyClass(string datafile)
    {
        using (CsvReader csv = new CsvReader(new StreamReader(datafile), true))
        {
            data = csv.ToList<string[]>();
        }
    }

    public List<string> Operate()
    {
    ...
    }

}
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该实施处置吗?做一些像:

List<string> results = new List<results>();

using (MyClass m = new MyClass("fileM.txt"))
            {
                results.AddRange(m.Operate());
            }

using (MyClass d = new MyClass("fileD.txt"))
            {
                results.AddRange(d.Operate());
            }

...
Run Code Online (Sandbox Code Playgroud)

我知道当你使用unmmanaged资源(套接字,流,...)时,建议实现Disposable,但在我的类中我只有大数据数组.

另一种方法是为每个对象创建函数(我想GC会自动删除函数中创建的对象):

List<string> results = new List<results>();
results.AddRange(myFunction("fileM.txt"));
results.AddRange(myFunction("fileD.txt"));


public List<string> myFunction(string file)
{
MyClass c = new MyClass(file);
return …
Run Code Online (Sandbox Code Playgroud)

c# garbage-collection idisposable

7
推荐指数
1
解决办法
347
查看次数

使用LINQ将List <string []>的第一个元素获取到字符串[]

我有一个字符串数组列表: List<string[]> myList;

有没有办法获得所有元素字符串[0]的字符串数组?像列表myList到string [],其中元素是myList [string [0]]

我想它类似于var result = from my in myList .Take(0)select x

问题2)有没有办法将字符串[]转换为字符串[1,]而没有for循环?现在我做:

for (int i = 0; i < arr.Length; i++)
      range[0, i] = arr[i];
Run Code Online (Sandbox Code Playgroud)

我需要"这种语法",因为我将列导出为ex​​cel.我需要一个对象[,]来做一个range.set_Value(Type, object[,]).

.net c# linq arrays type-conversion

3
推荐指数
1
解决办法
6444
查看次数