小编joh*_*mos的帖子

Java覆盖现有的输出文件

我的程序目前正在使用

FileOutputStream output = new FileOutputStream("output", true);
Run Code Online (Sandbox Code Playgroud)

如果尚未创建输出文件,则while循环将创建输出文件,并使用while循环的每次迭代将一些数据附加到此文件

 output.write(data).  
Run Code Online (Sandbox Code Playgroud)

这很好,是我想要的.

如果我再次运行程序,文件的大小只会翻倍,因为它会将确切的信息附加到文件的末尾.这不是我想要的.如果我再次运行程序,我想覆盖该文件.

java append overwrite

11
推荐指数
2
解决办法
4万
查看次数

单独的 Anaconda 环境是否会安装相同的包两次,占用两倍的存储空间?

如果我有两个单独的 Anaconda 环境,并且在每个环境中安装两个相同的软件包,它们是否安装两次,并占用两倍的存储空间?

IE

conda create --name myenv1

conda create --name myenv2

conda activate myenv1

conda install matplotlib

deactivate

conda activate myenv2

conda install matplotlib
Run Code Online (Sandbox Code Playgroud)

python environment anaconda

9
推荐指数
1
解决办法
1115
查看次数

将Byte []附加到二进制文件的末尾

我正在解析一个文件.我正在创建一个新的输出文件,并且必须向其添加'byte []数据.从那里我需要将许多其他'byte []数据附加到文件的末尾.我想我会让用户为输出文件名添加一个命令行参数,因为我已经让他们提供了我们正在解析的文件名.如果文件名尚未在系统中创建,我觉得我应该生成一个.

现在,我不知道该怎么做.我的程序当前正在使用DataInputStream来获取和解析文件.我可以使用DataOutputStream追加吗?如果是这样,我想知道如何附加到文件而不是覆盖.

java append dataoutputstream

6
推荐指数
1
解决办法
2万
查看次数

第一次尝试运行和加载模拟器时Android Studio中的错误消息

错误消息是:

PANIC: Could not open AVD config file: C:\Users\Darth\.android\avd\Nexus_5_API_21_x86.avd\config.ini
Run Code Online (Sandbox Code Playgroud)

我查看了该目录,没有config.ini文件.只有userdata.img文件.
查看AVD管理器时,操作列显示"无法加载".如果我右键单击它并单击详细信息,则会显示以下错误:

 Error: Failed to parse properties from C:\Users\Username\.android\avd\Nexus_5_API_21_x87.avd\config.ini
Run Code Online (Sandbox Code Playgroud)

尝试修复不起作用:

1 - 尝试选择其他设备定义.(选择多个其他设备时仍然缺少config.ini文件)

2 - 与我的整个家庭组共享.android目录(选择一个设备仍然不生成config.ini文件,同样的错误仍然存​​在)

FIX:感谢所有的回复.有效的修复方法是将AVD的内存改为512!

android emulation android-virtual-device

6
推荐指数
3
解决办法
4万
查看次数

Haskell:f :: hex String - >使用尾递归的整数

我正在寻找一种使用尾递归将十六进制更改为整数的方法.到目前为止,我只尝试了常规原始递归的可怕实现,我甚至没有接近.非常沮丧.甚至尾递归的例子也会有所帮助并且非常感激.我对这个实现不太了解它.

例:

  • "005" -> 5
  • "1E" -> 30

限制:如果可能或尾递归,不能使用import或if,then,else等必须使用递归.

我尝试递归.

    hexToInteger :: String -> Integer
        |(x:xs) = []        = []
        |x == 0             = hexToInteger xs
        |otherwise          = addition x + hexToInteger xs

    addition :: String -> Integer
    addition x 
        |--something to check what position we're dealing with and what hex value.
        |--Return the Integer value
Run Code Online (Sandbox Code Playgroud)

haskell

5
推荐指数
1
解决办法
1053
查看次数

你能跟踪一下这个Haskell foldl lambda函数是如何工作的吗?

myReverse :: [a] -> [a]
myReverse = foldl (\a x -> x:a) []

foldl is (a -> b -> a) -> a -> [b] -> a
Run Code Online (Sandbox Code Playgroud)

lambda函数显然在括号中.从哪里foldl获得其初始值?什么是[b]在这种情况下?

debugging trace haskell fold

5
推荐指数
1
解决办法
157
查看次数

Haskell无法将预期类型'String'与实际类型'Char'匹配

我想知道为什么我得到这个错误.它是一个赋值,我将从一个整数转换为十六进制值.当我修改整数值时,我称之为辅助转换函数16.(与我16在递归调用中除以的整数值连接)

这是我的代码:

    changeToHex :: Integer -> String
    --main function

    toHex :: Integer -> String
    toHex x
        |x == 0         = '0'
        |x == 1         = '1'
        |x == 2         = '2'
        |x == 3         = '3'
        |x == 4         = '4'
        |x == 5         = '5'
        |x == 6         = '6'
        |x == 7         = '7'
        |x == 8         = '8'
        |x == 9         = '9'
        |x == 10        = 'A'
        |x == 11        = 'B' …
Run Code Online (Sandbox Code Playgroud)

string haskell char

4
推荐指数
1
解决办法
5735
查看次数

haskell无限增量对列表

创建:: [(Integer, Integer)]包含表单对的无限列表对(m,n),其中m和n中的每一个都是其成员[0 ..].另一个要求是,如果(m,n) 是列表的合法成员,那么(elem (m,n) pairs)应该True在有限的时间内返回.违反此要求的对的实现被认为是非解决方案.

****新编辑感谢您的评论,让我们看看我是否可以取得一些进展****

    pairs :: [(Integer, Integer)]
    pairs = [(m,n) | t <- [0..], m <- [0..], n <-[0..], m+n == t]
Run Code Online (Sandbox Code Playgroud)

像这样的东西?我只是不知道它会在有限的时间内返回True.

我觉得这个问题措辞的方式elem不一定是我答案的一部分.如果你打电话(elem (m,n) pairs)它应该返回true.听起来不对?

haskell list infinite

4
推荐指数
1
解决办法
2101
查看次数

Haskell:使用列表推导将字符串更改为全大写字母字符串

与递归相比,我发现列表理解几乎是不可能的.我正在尝试使用诸如"te1234ST"之类的字符串并返回"TEST".似乎很容易,但有限制.不允许使用任何Haskell预定义函数,如isAlpha,它必须是列表理解.

到目前为止,我花了多长时间这是非常可怕的:

    convertAllToUpper :: String -> String
    convertAllToUpper xs = [n |n <- xs, check n == True]

          -- This may not even be allowed, and I know it's incorrect anyway
    check :: n -> Bool
    check (n:ns)
        | n `elem` ['a'..'z']       = True
        | n `elem` ['A'..'Z']       = True
        | otherwise         = False
Run Code Online (Sandbox Code Playgroud)

我只是想让它工作,我甚至还没有开始担心将小写改为大写.

任何正确方向的点都将非常受欢迎.

编辑:应该提到从低到高的转换不能使用:if,then,else.只需列出理解和列表运算符.

haskell list-comprehension list

3
推荐指数
1
解决办法
6292
查看次数

Java - 想通过eof解析.代码只解析一次

我下面的代码只解析数据文件一次.我试图让它解析整个文件.每次找到标记时,都会解析数据并将其附加到输出文件中.目前它成功解析数据然后停止.无法弄清楚如何让它循环直到eof.数据是4字节对齐的,并且在输入二进制文件中.

 private static void startParse(File inFile) throws IOException {
      boolean markerFound = false;
      for (int offset = 0; !markerFound && offset < 4; offset++){
         DataInputStream dis = new DataInputStream(new FileInputStream(inFile));
         for (int i = 0; i < offset; i++){
             dis.read();
         }
         try {
             int integer;
             long l;
             while((l = (integer = dis.readInt())) != MARKER) {
                 //Don't do anything
             }
             markerFound = true;
             for (int i = 0; i < 11; i++){
                 dis.read();
             }

     // ********************** data **********************          
             byte[] data = …
Run Code Online (Sandbox Code Playgroud)

java parsing eof datainputstream

3
推荐指数
1
解决办法
325
查看次数