Webアプリケーションから基本的にデータをスクラップして.csvファイルを作成するJavaアプリケーションを作成しました。 NetBeansで実行すると正常に動作し、34kbのファイルが作成されます。しかし、私がそれをビルドして.JAR実行可能ファイルを実行すると、同じファイルが作成されますが、ファイルのサイズは4kbであり、すべてのデータを持ちません。 私はJava 1.8でプロジェクトをビルドします。私はこの問題を実際に理解していないのです。それはJava版の問題ですか?あなたの助けを前にありがとう。 ここでコードを追加しないと申し訳ありません。ここに私のプロジェクトのコードがあります。.JAR実行可能ファイルが正しく実行されていません
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Locale;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
//this program is for open-end-summary
/**
*
* @author talha
*/
public class ComMufapScraping {
boolean writeCSVToConsole = true;
boolean writeCSVToFile = true;
boolean sortTheList = true;
boolean writeToConsole;
boolean writeToFile;
public static Document doc = null;
public static Elements tbodyElements = null;
public static Elements elements = null;
public static Elements tdElements = null;
public static Elements trElement2 = null;
public static String Dcomma = ",";
public static String line = "";
public static ArrayList<Elements> sampleList = new ArrayList<Elements>();
public static void createConnection() throws IOException {
System.setProperty("http.proxyHost", "191.1.1.202");
System.setProperty("http.proxyPort", "8080");
String tempUrl = "http://www.mufap.com.pk/nav_returns_performance.php?tab=01";
doc = Jsoup.connect(tempUrl).get();
}
public static void parsingHTML() throws Exception {
for (Element table : doc.getElementsByTag("table")) {
for (Element trElement : table.getElementsByTag("tr")) {
trElement2 = trElement.getElementsByTag("tr");
tdElements = trElement.getElementsByTag("td");
File fold = new File("C:\\open-end-smry.csv");
fold.delete();
File fnew = new File("C:\\open-end-smry.csv");
FileWriter sb = new FileWriter(fnew, true);
if (trElement.hasClass("tab-data1")) {
for (Iterator<Element> it = tdElements.iterator(); it.hasNext();) {
if (it.hasNext()) {
sb.append("\r\n");
}
for (Iterator<Element> it2 = trElement2.iterator(); it.hasNext();) {
Element tdElement2 = it.next();
final String content = tdElement2.text();
if (it2.hasNext()) {
sb.append(formatData(content));
sb.append(" , ");
}
if (!it.hasNext()) {
String content1 = content.replaceAll(",$", " ");
sb.append(formatData(content1));
//it2.next();
}
}
System.out.println(sb.toString());
sb.flush();
sb.close();
}
}
System.out.println(sampleList.add(tdElements));
}
}
}
private static final SimpleDateFormat FORMATTER_MMM_d_yyyy = new SimpleDateFormat("MMM d, yyyy", Locale.US);
private static final SimpleDateFormat FORMATTER_dd_MMM_yyyy = new SimpleDateFormat("dd-MMM-YYYY", Locale.US);
public static String formatData(String text) {
String tmp = null;
try {
Date d = FORMATTER_MMM_d_yyyy.parse(text);
tmp = FORMATTER_dd_MMM_yyyy.format(d);
} catch (ParseException pe) {
tmp = text;
}
return tmp;
}
public static void main(String[] args) throws IOException, Exception {
createConnection();
parsingHTML();
}
}
ここにプロジェクトをビルドした後のログcatファイルがあります。
アリ-f C:\ Users \ユーザータルハガムドキュメント\ \ NetBeansProjects \ com.open_end_smry -Dnb.internal.action.name =クリーンジャーのinitを再構築:depsのクリーン:更新プロパティファイル: Cを: \ Users \ talha \ Documents \ NetBeansProjects \ com.open_end_smry \ build \ built-clean.properties ディレクトリの削除 C:¥Users¥talha¥Documents¥NetBeansProjects¥com.open_end_smry¥build clean:init:deps-jar:Created dir: C:¥Users¥talha¥Documents¥NetBeansProjects¥com.open_end_smry¥build プロパティファイルの更新: C:¥Users¥talha¥Documents¥NetBeansProjects¥com.open_end_smry¥build¥built-jar.prop erties ディレクトリを作成: C:\ユーザー\タルハガムドキュメント\ NetBeansProjects \ com.open_end_smry \ \クラスを構築\ 作成したディレクトリ: C:\ Users \ユーザータルハガムドキュメント\ \ NetBeansProjects \ com.open_end_smry \構築\空 作成されたディレクトリ: C:\ Users \ユーザータルハガム\ドキュメント\ NetBeansProjects \ com.open_end_smry \ Cに 1つのソースファイルをコンパイルAP-ソース出力\ \生成され、ソースをビルドする:\ Users \ユーザータルハガム\ドキュメント\ NetBeansProjects \ com.open_end_smry \ビルド\クラス 警告:[オプション]ブートストラップクラスのパスは と一緒に設定されていません - ソース1.7 1警告コンパイル:作成されたディレクトリ:C:¥Users¥talha¥Documents¥NetBeansProjects¥com.open_end_smry¥dist 1ファイルを にコピーしていますC:\ Users \ talha \ Documents \ Ne tBeansProjects \ com.open_end_smry \ build ライブラリを C:¥Users¥talha¥Documents¥NetBeansProjects¥com.open_end_smry¥dist¥libにコピーします。 ビルダーjar: C:¥Users¥talha¥Documents¥NetBeansProjects¥com.open_end_smry¥dist¥com.open_end_smry.jar このアプリケーションをAntなしでコマンドラインから実行するには、java -jar "C:\ Users \タルハガムの\ドキュメント\ NetBeansProjects \ com.open_end_smry \ distの\ com.open_end_smry.jar」に 瓶:SUCCESSFUL(合計時間:0秒)を構築
プロジェクトをローカルマシンにコピーする必要があります。次にコンソール上で 'javac file.java'を実行してから' java File'を実行してください。 Javaを正しくインストールした場合、これはうまくいくはずです。 –
すべてがコピーされて正しくコンパイルされていると仮定すると、何が間違っているのかを私たちが知る方法はありません。 –
[mcve]を提供できる場合は、問題の再現を試みることができます。いくつかのコードがなければ、あなたを助けるのは難しい –