Java .JAR可执行文件未正常运行
我创建了一个java应用程序,它基本上是从一个网站上删除数据并创建一个.csv文件。当我在NetBeans中执行它并创建34kb的文件时,它运行良好。但是,当我构建它并运行.JAR可执行文件时,它会创建相同的文件,但文件大小为4kb,并且不会带来所有数据。 我在Java1.8上构建这个项目。我不明白这个问题背后究竟是什么原因。这是java版本的问题吗?提前感谢你的帮助。 很抱歉没有在前面添加代码。这是我的项目代码Java .JAR可执行文件未正常运行,java,web-scraping,netbeans-8.1,Java,Web Scraping,Netbeans 8.1,我创建了一个java应用程序,它基本上是从一个网站上删除数据并创建一个.csv文件。当我在NetBeans中执行它并创建34kb的文件时,它运行良好。但是,当我构建它并运行.JAR可执行文件时,它会创建相同的文件,但文件大小为4kb,并且不会带来所有数据。 我在Java1.8上构建这个项目。我不明白这个问题背后究竟是什么原因。这是java版本的问题吗?提前感谢你的帮助。 很抱歉没有在前面添加代码。这是我的项目代码 import java.io.File; import java.io.FileW
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();
}
}
导入java.io.File;
导入java.io.FileWriter;
导入java.io.IOException;
导入java.text.ParseException;
导入java.text.simpleDataFormat;
导入java.util.ArrayList;
导入java.util.Date;
导入java.util.Iterator;
导入java.util.Locale;
导入org.jsoup.jsoup;
导入org.jsoup.nodes.Document;
导入org.jsoup.nodes.Element;
导入org.jsoup.select.Elements;
//此程序用于开放式摘要
/**
*
*@作者塔哈
*/
公共类通信{
布尔writecsvoconsole=true;
布尔writeCSVToFile=true;
布尔sortTheList=true;
布尔写控制台;
布尔写文件;
公共静态单据单据=空;
公共静态元素tbodyElements=null;
公共静态元素=null;
公共静态元素tdElements=null;
公共静态元素trElement2=null;
公共静态字符串Dcomma=“,”;
公共静态字符串行=”;
public static ArrayList sampleList=new ArrayList();
公共静态void createConnection()引发IOException{
System.setProperty(“http.proxyHost”,“191.1.1.202”);
setProperty(“http.proxyPort”、“8080”);
字符串tempUrl=”http://www.mufap.com.pk/nav_returns_performance.php?tab=01";
doc=Jsoup.connect(tempUrl.get();
}
public static void parsingtml()引发异常{
对于(元素表:doc.getElementsByTag(“表”)){
对于(元素treelement:table.getElementsByTag(“tr”)){
trElement2=treelement.getElementsByTag(“tr”);
tdElements=treelement.getElementsByTag(“td”);
文件折叠=新文件(“C:\\open end smry.csv”);
fold.delete();
File fnew=新文件(“C:\\open-end smry.csv”);
FileWriter sb=新的FileWriter(fnew,true);
if(treelement.hasClass(“tab-data1”)){
for(Iterator it=tdElements.Iterator();it.hasNext();){
if(it.hasNext()){
sb.追加(“\r\n”);
}
for(迭代器it2=trElement2.Iterator();it.hasNext();){
元素tdElement2=it.next();
最终字符串内容=tdElement2.text();
if(it2.hasNext()){
sb.追加(格式数据(内容));
某人加上(“,”);
}
如果(!it.hasNext()){
字符串content1=content.replaceAll(“,$”,”);
sb.追加(格式数据(内容1));
//it2.next();
}
}
System.out.println(sb.toString());
某人脸红;
(某人接近);
}
}
System.out.println(sampleList.add(tdElements));
}
}
}
私有静态最终SimpleDataFormat格式化程序\u MMM\u d_yyyy=新SimpleDataFormat(“MMM d,yyyy”,Locale.US);
私有静态最终SimpleDataFormat格式化程序\u dd\u MMM\u yyyy=新SimpleDataFormat(“dd MMM yyy”,Locale.US);
公共静态字符串格式数据(字符串文本){
字符串tmp=null;
试一试{
日期d=格式化程序\u MMM\u d\u yyyy.parse(文本);
tmp=格式化程序\u dd\u MMM\u yyyy.format(d);
}捕获(解析异常pe){
tmp=文本;
}
返回tmp;
}
公共静态void main(字符串[]args)引发IOException,异常{
createConnection();
parsingtml();
}
}
这是构建项目后的日志cat文件
ant-f
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\smry
-Dnb.internal.action.name=重新生成清理jar init:deps clean:更新属性文件:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\build\build-clean.properties
删除目录
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\build
clean:init:deps jar:Created dir:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\build
正在更新属性文件:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\build\build-jar.properties
创建目录:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\smry\build\classes
创建目录:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\build\empty
创建目录:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\build\generated sources\ap source output
正在将1个源文件编译为
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\smry\build\classes
警告:[选项]引导类路径未与一起设置
-source 1.7 1警告编译:创建目录:C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\dist
正在将1个文件复制到
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\smry\build Copy
图书馆
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\dist\lib。
建筑震击器:
C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\dist\com.open\u end\u smry.jar
要在不使用Ant的情况下从命令行运行此应用程序,请尝试:java
-jar“C:\Users\talha\Documents\NetBeansProjects\com.open\u end\u smry\dist\com.open\u end\u smry.jar”
罐子:
public static void parsingHTML() throws Exception {
File fold = new File("C:\\open-end-smry.csv");
fold.delete();
for (Element table : doc.getElementsByTag("table")) {
for (Element trElement : table.getElementsByTag("tr")) {
trElement2 = trElement.getElementsByTag("tr");
tdElements = trElement.getElementsByTag("td");
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));
}
}
}