我正在尝试在shell脚本中使用sed命令,我想删除读取的STARTremoveThisComment行和读取的行removeThisCommentEND.
我可以在使用时将其复制到新文件时执行此操作
sed 's/STARTremoveThisComment//' > test
Run Code Online (Sandbox Code Playgroud)
但是如何通过使用相同的文件作为输入和输出来做到这一点?
我希望我的应用程序(现在假设是一个简单的节点文件)即使 redis 不可用也能正常工作。我无法以正确的方式做到这一点。这是我尝试过的。
var redis = require('redis');
var redisClient = null;
var getRedisClient = function(){
if(redisClient){
return redisClient;
}
try {
redisClient = redis.createClient({connect_timeout : 5000, max_attempts : 1});
redisClient.on("error", function(err) {
console.error("Error connecting to redis", err);
redisClient = null;
});
return redisClient;
} catch(ex){
console.log("error initialising redis client " + ex);
return null;
}
};
try {
var client = getRedisClient();
console.log("done!");
} catch (ex){
console.log("Exception");
}
Run Code Online (Sandbox Code Playgroud)
但是,使用此代码,如果 redis 不可用,我的应用程序将退出(不应该,因为我没有给出 process.exit() 命令)。
我该如何解决这个问题?
我正在使用一个名为wPaint的jQuery插件来允许用户绘制自己的图像.我将生成的图像作为字符串发送到服务器,作为以字母开头的字符串
数据:图像/ PNG; BASE64,
我尝试了下面的两种方法,但两种方法都无法存储图像.
方法1
String imageData = parameterParser.getStringParameter("image", "");
byte[] imgByteArray = Base64.decodeBase64(imageData.getBytes());
FileOutputStream fileOutputStream = new FileOutputStream("/home/arvind/Desktop/test.png");
fileOutputStream.write(imgByteArray);
fileOutputStream.close();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,文件被写入但不显示图像.但是,当我删除文件扩展名时,我得到发送到服务器的字符串(即imageData中的任何内容).
方法2
String imageData = parameterParser.getStringParameter("image", "");
byte[] imgByteArray = Base64.decodeBase64(imageData.getBytes());
InputStream in = new ByteArrayInputStream(imgByteArray);
BufferedImage bImageFromConvert = ImageIO.read(in);
ImageIO.write(bImageFromConvert, "png", new File("/home/arvind/Desktop/test.png"));
Run Code Online (Sandbox Code Playgroud)
BufferedImage bImageFromConvert为null,因此在创建文件时会出现异常(IllegalArgumentException).
Base64类来自apache commons编解码器库,版本为1.2.
有什么我做错了吗?
我有一个像这样的方法:
List < Object > getObjects(List<Integer> ids)
Run Code Online (Sandbox Code Playgroud)
我想使用整数(比如一些int)动态构建一个列表(作为参数),而不是在局部变量中创建和存储列表然后传递它.
List<Integer> intList = new ArrayList<Integer>();
intList.add(a);
getObjects(intList)
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我想用单个/多个字符替换多组字符.
例如:
输入
我想问你好RRRRRRRRRRRR我的名字RRR是RRRRRRRR arvind RR
产量
我想要你好我的名字A是A arvind A.
是否有任何库方法可以让我这样做?
我能想到的唯一方法是循环遍历每个字符,看看下一个字符是否相同.我会注意开始和结束索引,并在字符串上递归执行此操作直到结束.
我有一个Android项目,我已将其添加到SVN存储库.这些是我添加的目录/文件
目录:res,src,lib,
文件:AndroidManiFest.xml,project.properties,proguard.cfg和2个启动文件
但是,当我执行以下操作时,我无法将该文件创建为android项目
Create New Projects -> Android Project from Existing Source Code在我创建新项目时,您是否有一些我没有提交的文件或者我做错了什么?
我有一个如下列表
List<Summary> summary;
Summary {
int key;
String value1;
String value2;
}
Run Code Online (Sandbox Code Playgroud)
在java(或任何其他实用程序库)中是否有一种方法可以在变量value1中替换所有出现的String"String1"而无需遍历列表?