Tag: java

在java中parsingCSV

我有这个奇怪的情况,我必须水平阅读。 所以我得到一个水平格式的数据的CSV文件。 如下所示: CompanyName,RunDate,10/27/2010,11/12/2010,11/27/2010,12/13/2010,12/27/2010…. RunDate后显示的所有date是运行date字段的值,我必须更新该系统中该公司的字段。 date值不是固定编号,它们可以是单个值到10到n个数字。 所以我需要读取所有这些值并在系统中更新。 我正在用Java写这个。

如何在Java游戏中增加缓冲区?

所以在我正在做的游戏中,我有一个大理石跟着鼠标,但是当它这样做的时候屏幕闪烁。 背景包括两个JPEG和九个矩形。 我怎么去双缓冲呢? 这是主窗口的代码。 /** * Write a description of class Window here. * * @author (your name) * @version (a version number or a date) */ public class Window extends JApplet implements MouseMotionListener { private BufferedImage image; private BufferedImage side; private int mouseX; private int mouseY; public Window(){ try { image = ImageIO.read(new File("Backgrounds/violet.jpg")); […]

需要重置Oracle中序列的值

我正在使用Spring和Hibernate来开发Java应用程序。 假设我有一张桌子。 当我从这个表中删除一些logging时,有时我需要重置主键字段的值。 假设我有一个表中有10条logging,我删除了最后5条logging。 现在,当我插入新logging时,主键字段的值应该从6开始,但是从11开始。 如果我需要在MySql中以6 ( maximum +1 )启动主键值,那么我只需要执行下面的SQL语句。 alter table table_name auto_increment=1; 这会自动将auto_increment的值重置为该字段的maximum + 1值(可能在概念上不正确,但是可行)。 在Oracle(10g)中,我使用主键sequence 。 当Oracle从数据库中删除一些logging时,是否有办法将sequence的值重置为maximum + 1值?

Retrofit和RxJava:如何结合两个请求并获得两个结果?

我需要提出两个服务请求,并将结果结合起来: ServiceA()=> [{"id":1,"name":"title"},{"id":1,"name":"title"}] ServiceB( id )=> {"field":"value","field1":"value"} 目前,我设法结合了结果,但是我需要将id作为parameter passing给ServiceB并获得第一个结果。 我到目前为止所尝试的是: Retrofit repo = new Retrofit.Builder() .baseUrl("https://api.themoviedb.org/3/genre/") .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); Observable<GenerosResponse> Genres = repo .create(services.class) .getAllGeneros("movie","list","da0d692f7f62a1dc687580f79dc1e6a0") .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()); Observable<ResponseMovies> Movies = repo .create(services.class) .getAllMovies("28","movies","da0d692f7f62a1dc687580f79dc1e6a0",12) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()); Observable<CollectionsMovies> combined = Observable.zip(Genres, Movies, new Func2<GenerosResponse, ResponseMovies, CollectionsMovies>() { @Override public CollectionsMovies call(GenerosResponse generosResponse, ResponseMovies responseMovies) { return new […]

检测tomcat servlet中的客户端断开?

我如何检测tomcat servlet请求的客户端已经断开? 我读过,我应该做一个response.getOutputStream()。print(),然后一个response.getOutputStream()。flush()并捕获一个IOException,但有没有办法检测到这种情况,而不写任何数据? 编辑 : servlet发出的数据stream不一定结束,但不一定有任何数据stream过(这是一个实时事件stream)。 我需要实际检测客户端何时断开连接,因为在这一点上我需要做一些清理工作(释放资源,等等)。 如果我有HttpServletRequest可用,将试图读取,抛出一个IOException,如果客户端断开连接?

使用线程奇数偶数打印

奇数偶数打印使用线程。创build一个线程类,线程的两个实例。 一个会打印奇数,另一个会打印偶数。 我做了以下编码。 但是到了死锁状态。 有人可以解释一下可能的原因吗? public class NumberPrinter implements Runnable{ private String type; private static boolean oddTurn=true; public NumberPrinter(String type){ this.type=type; } public void run() { int i=type.equals("odd")?1:2; while(i<10){ if(type.equals("odd")) printOdd(i); if(type.equals("even")) printEven(i); i=i+2; } } private synchronized void printOdd(int i){ while(!oddTurn){ try { wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(type + […]

使用java将XML文件转换为CSV文件

我需要帮助了解使用java将XML文件转换为CSV文件所涉及的步骤。 这是一个XML文件的例子 <?xml version="1.0"?> <Sites> <Site id="101" name="NY-01" location="New York"> <Hosts> <Host id="1001"> <Host_Name>srv001001</Host_Name> <IP_address>10.1.2.3</IP_address> <OS>Windows</OS> <Load_avg_1min>1.3</Load_avg_1min> <Load_avg_5min>2.5</Load_avg_5min> <Load_avg_15min>1.2</Load_avg_15min> </Host> <Host id="1002"> <Host_Name>srv001002</Host_Name> <IP_address>10.1.2.4</IP_address> <OS>Linux</OS> <Load_avg_1min>1.4</Load_avg_1min> <Load_avg_5min>2.5</Load_avg_5min> <Load_avg_15min>1.2</Load_avg_15min> </Host> <Host id="1003"> <Host_Name>srv001003</Host_Name> <IP_address>10.1.2.5</IP_address> <OS>Linux</OS> <Load_avg_1min>3.3</Load_avg_1min> <Load_avg_5min>1.6</Load_avg_5min> <Load_avg_15min>1.8</Load_avg_15min> </Host> <Host id="1004"> <Host_Name>srv001004</Host_Name> <IP_address>10.1.2.6</IP_address> <OS>Linux</OS> <Load_avg_1min>2.3</Load_avg_1min> <Load_avg_5min>4.5</Load_avg_5min> <Load_avg_15min>4.2</Load_avg_15min> </Host> </Hosts> </Site> </Sites> 这里是结果的CSV文件。 site_id, site_name, site_location, host_id, […]

如何在java文件path中转义反斜杠和自动生成的转义字符

我有非常小而简单的问题,但我没有得到解决scheme。 其实我正在使用文件select器得到一个CSV文件path。 我正在使用加载数据本地infile查询在这个csv文件input数据库中的数据。 假设我input的文件path是“C:\ title.csv”当我把这个string进行查询时,你会在path中看到\ t组合。 这实际上是文件path的一部分,而不是转义字符'\ t'。 但是java和mysql认为它是转义字符。 然后我尝试用下面的代码行replace文件pathstring中的“\”。 String filepath="C:\title.csv"; String filepath2=filepath.replace("\\","\\\\"); 仍然没有对文件path的影响,它仍然认为'\ T'作为转义字符。 所以我的问题是如何解决这个问题,而不改变文件的名称? 如果我们有像这样的path String filepath="C:\new folder\title.csv"; 它会考虑\ n和\ t作为转义字符。 如果path中的文件或文件夹的名称导致转义字符,如何解决这个问题?

AlertDialog从BroadcastReceiver内? 可以这样做吗?

AlertDialog从BroadcastReceiver内? 可以这样做吗? 我正在开发一个应用程序,如果我收到短信,就会popup一个对话框。 我正在尝试在BroadcaseReceiver中对其进行编码。 但我不能使用这行代码AlertDialog.Builder builder = new AlertDialog.Builder(this); 。 有人可以帮助我一个提示! public class SMSPopUpReceiver extends BroadcastReceiver { private static final String LOG_TAG = "SMSReceiver"; public static final int NOTIFICATION_ID_RECEIVED = 0x1221; static final String ACTION = "android.provider.Telephony.SMS_RECEIVED"; public void onReceive(Context context, Intent intent) { Log.i(LOG_TAG, "onReceive"); if (intent.getAction().equals(SMSPopUpReceiver.ACTION)) { StringBuilder sb = new StringBuilder(); Bundle […]

Java / Hibernate – 在只读模式下不允许写操作

最近我一直有一个恼人的例外,经过对Google和这个论坛的一些研究,我还没有find可以解决我的问题的答案。 这是事情 – 有时,当试图更新或创build一个新的对象与hibernate时,我得到以下错误: org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition. at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1186) at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:696) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:694) 真奇怪的是,有时用方法getHibernateTemplate().saveOrUpdate(object);更新getHibernateTemplate().saveOrUpdate(object); 它会工作,但有时与相同的对象,通过调用相同的方法,它不起作用,但它似乎取决于我如何获得对象的第一位。 例如:假设我有一个包含3个字段的表:id,type,length。 可能发生的是,如果我通过id获得对象并更新长度,那么它将工作。 如果我通过types得到它并更新长度,那么它将不起作用。 所以,为了避免这个问题,我一直在做的事情是把这个方法拿回来,而这个方法以后不会引起问题,但是现在变得越来越讨厌,试图find一种可行的方法。 此外,现在我试图创build一个对象(但不是所有的,只是在一个特定的表),这个exception,并找不到解决方法。 我试图在事务中添加@Transactional(readOnly = false) ,但是没有任何改变,显示模式是说我不是只读的。 有什么build议么? 7月26日编辑:这里有一些与hibernate相关的configuration <property name="hibernateProperties"> <props> <prop key="jdbc.fetch_size">20</prop> <prop […]