我试图使用文件utils复制文件方法复制文件.我正在遇到一些有时会抛出异常的问题
java.io.IOException: Failed to copy full contents from 'path.xml' to localfile.xml
我已经google搜索并在代码中看到当目标文件长度与目标文件长度不同时抛出此异常,异常仅发生一些时间 - 这可能是由于我尝试复制的文件是一致的更新,所以我可能会在更新中捕获它(只是一个值更改的xml文件)
如果我把呼叫包裹在一个if(target.canRead())但是这似乎没什么区别.
有人可以帮忙吗?
*更新:*我无法锁定文件,因为它是通过第三方供应商写入的,这会导致各种问题.
我一直在寻找杀死线程的方法,看起来这是最流行的方法
public class UsingFlagToShutdownThread extends Thread {
private boolean running = true;
public void run() {
while (running) {
System.out.print(".");
System.out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {}
}
System.out.println("Shutting down thread");
}
public void shutdown() {
running = false;
}
public static void main(String[] args)
throws InterruptedException {
UsingFlagToShutdownThread t = new UsingFlagToShutdownThread();
t.start();
Thread.sleep(5000);
t.shutdown();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果在while循环中我们生成了另一个被数据填充的对象(比如运行和更新的gui),那么我们如何回调 - 特别是考虑到这个方法可能已被多次调用,所以我们有很多线程而(运行)然后更改一个标志将改变它为每个人?
谢谢
我的应用程序中有一个线程,它永久运行,每5分钟向监控应用程序发送一次心跳.
如果我的应用程序在异常块中失败,我需要退出正在运行它的线程(while循环基于线程没有被中断).
这是否意味着每次捕获我都需要系统退出或中断该线程的调用?这似乎是一个非常混乱的方法,但我不知道如何.
谢谢
我试图用来getc(character)从文件中取一个元素并用它做一些东西,但看起来它必须'\n'在一行符合之前有一个.
如何删除它,以便在复制字符时,我没有出现在任何地方的新行字符 - 从而允许我在选择时处理打印新行?
我在关闭服务器组件时遇到了一些麻烦,并希望得到一些帮助.
我的服务器代码如下所示,它有一个关闭服务器的方法
服务器
private final String address = "127.0.0.1";
private Registry registry;
private int port = 6789;
public RmiServer() throws RemoteException {
try {
registry = LocateRegistry.createRegistry(port);
registry.rebind("rmiServer", this);
} catch (RemoteException e) {
logger.error("Unable to start the server. Exiting the application.", e);
System.exit(-1);
}
}
public void shutDownServer() throws RemoteException {
int succesful = 0;
try {
registry.unbind("rmiServer");
UnicastRemoteObject.unexportObject(this, true);
Thread.sleep(1000);
} catch (NotBoundException e) {
logger.error("Error shutting down the server - could not unbind the registry", e);
succesful …Run Code Online (Sandbox Code Playgroud) 我使用 Junit 作为我的测试技术。除此之外,我还使用 log4j 从我的主应用程序进行日志记录。
我遇到一个问题,当 Jenkins 运行我的测试用例时,它将输出记录到我的应用程序日志文件中,这不太理想。
是否可以通过某种方式抑制这些日志消息?我的 log4j 属性如下;
log=/var/opt/jboss/standalone/log/myapp.log
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.rootLogger=DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.append=true
log4j.appender.FILE.file=${log}
log4j.appender.FILE.threshold=DEBUG
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d %-5p %c - %m%n
Run Code Online (Sandbox Code Playgroud) 我之前发布过-关于如何阻止在表格视图中选择多个单元格-答案是使用 tableView.AllowsMultipleSelections=false
从那以后,我一直在尝试并遭受惨痛的失败,从本质上讲,它似乎并没有遵守该规则。
我希望的输出应该是选中一个单元格,并在其旁边有一个绿色的勾号(这有效),如果选择了一个新的单元格,则旧的勾号将被删除并移至新的当前单元格。
我尝试了许多方法,最新的方法是从最后选择的索引创建我自己的索引路径-然后将附件视图设置为nil并将所选视图更改为false。这也不起作用。请有人帮我解决我可能做错的事情。
谢谢
import UIKit
class QuizViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
var countries = ["Germany", "France", "England", "Poland", "Spain"];
var selected = -1;
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.allowsMultipleSelection = false;
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1;
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.countries.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) …Run Code Online (Sandbox Code Playgroud) 是否有可能(有一种巧妙的方式)使用反射获得课堂评论?我可以读取.java文件并获取注释,但它可能没有,所以如果我查找/**的第一个实例然后*/i最终可能会有方法注释.
请你能避免代码解决方案,因为我想自己解决这个问题.
如果我使用反射调用一个方法,我可以让它正常工作而不抛出空指针异常的唯一方法是在我调用的方法中返回一个int值.
例如,我想调用的方法:
public int setScore(int n)
{
this.score = n;
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我称之为:
Method setScore = myClass.getMethod("setScore", new Class<?>[]{int.class});
Object returnValue = setScore.invoke(builder, new Object[]{theScore});
Run Code Online (Sandbox Code Playgroud)
将返回类型更改为void并调用它似乎总是抛出空指针异常.我是否需要改变我接近无效方法的方法?
谢谢
我刚刚在 eclipse 中安装了 checkstyle。它的工作原理是在屏幕上放置断点的部分显示适当的错误。但是,我只是想知道它是否真的会为您格式化代码并确实添加空注释等供您填写?
如果确实如此,你如何让它做到这一点。谢谢
java ×8
exception ×2
reflection ×2
c ×1
checkstyle ×1
concurrency ×1
copy ×1
eclipse ×1
file ×1
ios ×1
jenkins ×1
junit ×1
log4j ×1
logging ×1
rmi ×1
swift ×1
uitableview ×1