小编unh*_*ler的帖子

我是否需要处理或忽略OutputStream close()函数触发的IOException?

在下面的代码中,outPutStream的close函数抛出了我应该捕获的IOException异常.我的问题是我需要处理吗?由于我正在使用移动设备,我想确保释放我使用的所有资源,或者我可以安全地忽略该异常.

//...
OutputStream output = null;
try {
     output = connection.getOutputStream();
     output.write(query.getBytes(charset));
} finally {
     if (output != null) try { 
        output.close(); 
     } catch (IOException e) {
        // Do i need to do something here ?
     }
}
Run Code Online (Sandbox Code Playgroud)

java io outputstream

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

多线程写入文本文件

希望你能帮我这个.我需要创建一个程序,使用多个线程写入文本文件.我需要的是显示处理器如何给一个线程或另一个线程"注意",所以基本上,我需要所有线程同时运行,当然,同时写入.

这是我的代码.

方法1:使用"for"创建和启动线程.

public class ThreadGenerator {

    public static void main(String[] args) {

        File textFile = new File("c:\\threadLog.txt");

        try {
            PrintWriter out = new PrintWriter(new FileWriter(textFile));

            for (int index = 0; index < 5; index++) {

            ThreadCustom thread = new ThreadCustom("ID" + index, out);
            thread.start();
            }

            out.close();

        } catch (IOException ex) {
            Logger.getLogger(ThreadGenerator.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

方法2:手动创建和启动每个线程

public class ThreadGenerator {

    public static void main(String[] args) {

        File textFile = new File("c:\\threadLog.txt");

        try {
            PrintWriter out = new …
Run Code Online (Sandbox Code Playgroud)

java multithreading text file

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

复杂的if()或enum?

在我的应用程序中,如果输入匹配某些特定的20个条目,我需要分支.

我想过使用枚举

public enum dateRule { is_on, is_not_on, is_before,...}
Run Code Online (Sandbox Code Playgroud)

并打开枚举常量来执行一个函数

switch(dateRule.valueOf(input))
{
  case is_on : 
  case is_not_on :
  case is_before :
  .
  .
  .
  // function()
  break;
}
Run Code Online (Sandbox Code Playgroud)

但是输入字符串将像'is on','is not on','is before'等,而不是_之间的_.我了解到枚举不能包含包含空格的常量.

可能的方法我可以说出来:

1,使用if语句比较给出long if语句的20个可能输入

if(input.equals("is on") ||
   input.equals("is not on") || 
   input.equals("is before") ...)   { // function() }
Run Code Online (Sandbox Code Playgroud)

2,处理输入以在单词之间插入_,但即使是不属于此20的其他输入字符串也可以有多个单词.

有没有更好的方法来实现这个?

java enums

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

使用 SWIG 将 C 结构数组访问到 Python

我试图从 Python 调用现有的 C 代码。C 代码定义了一个B包含As结构体数组的结构体。C 代码还定义了一个函数,该函数在调用时将值放入结构中。我可以访问数组成员变量,但它不是列表(或支持索引的东西)。相反,我得到一个对象,它是B*.

我发现了这个问题,但看起来并没有完全解决。我也不确定如何制作 Python 类的实例B来替换PyString_FromString().

下面是演示我的问题以及如何执行它所需的代码:

例子.h

typedef struct A_s
{
  unsigned int thing;
  unsigned int other;
} A_t;

typedef struct B_s
{
  unsigned int size;
  A_t items[16];
} B_t;

unsigned int foo(B_t* b);
Run Code Online (Sandbox Code Playgroud)

例子.c

#include "example.h"

unsigned int
foo(B_t* b)
{
  b->size = 1;
  b->items[0].thing = 1;
  b->items[0].other = 2;
}
Run Code Online (Sandbox Code Playgroud)

例子.i

%module example
%{
#define SWIG_FILE_WITH_INIT
#include "example.h"
%}

%include "example.h" …
Run Code Online (Sandbox Code Playgroud)

python arrays swig struct

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

这在C#中究竟是什么意思?

我正在浏览一个开源的.NET twain包装器,看到了这个:

[Flags]
internal enum TwDG : short
{                                   // DG_.....
    Control = 0x0001,
    Image = 0x0002,
    Audio = 0x0004
}
Run Code Online (Sandbox Code Playgroud)

这个'Flag'装饰器究竟是什么意思?(它被称为'装饰者'吗?)

此外,在枚举声明结束时,短片是什么意思?

谢谢!

c#

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

复杂的正则表达式

我想捕获字符串的子字符串,选择字符数,但如果任何单词被剪切,则直到最后一个空白.

例如,如果这是文本:

"这是文本lorem ipsum等的一个例子......"

12个字符会给出"这是一个e".在这种情况下,最后一个单词被剪切,因此结果应为"This is an".

它可以用正则表达式做到这一点吗?

regex

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

聚合参数中的语法错误:期望具有可能的"子"限定符的单个列参数

DataTable distinctTable = dTable.DefaultView.ToTable(true,"ITEM_NO","ITEM_STOCK");
DataTable dtSummerized = new DataTable("SummerizedResult");

dtSummerized.Columns.Add("ITEM_NO",typeof(string));
dtSummerized.Columns.Add("ITEM_STOCK",typeof(double));

int count=0;

foreach(DataRow dRow in distinctTable.Rows)
{
  count++;
  //string itemNo = Convert.ToString(dRow[0]);
  double TotalItem = Convert.ToDouble(dRow[1]);

  string TotalStock = dTable.Compute("sum(" + TotalItem + ")", "ITEM_NO=" + dRow["ITEM_NO"].ToString()).ToString();
  dtSummerized.Rows.Add(count,dRow["ITEM_NO"],TotalStock);
}
Run Code Online (Sandbox Code Playgroud)

错误消息:聚合参数中的语法错误:期望具有可能的"子"限定符的单个列参数.

有人可以帮帮我吗?

谢谢.

c#

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

C# - 构造函数的链调用

我正在学习C#,我正在学习构造函数和构造函数的链调用,以便不必在每个构造函数中粘贴相同的代码(变量的相同值).

我有三个构造函数,一个没有参数,一个有三个参数,一个有四个参数.我要做的是,使用默认构造函数调用三个参数的构造函数,传递参数(变量)的默认值和具有三个参数的构造函数,我正在寻找用四个参数调用构造函数参数.我似乎有第一个排序列出默认值,但我正在努力如何编写具有三个参数的构造函数,然后如果需要,让它用四个参数调用构造函数.

默认构造函数应将类型字符串的所有实例变量分配给string.Empty.

public Address()
{
   m_street = string.Empty;
   m_city = string.Empty;
   m_zipCode = string.Empty;
   m_strErrMessage = string.Empty;
   m_country = Countries;
}


public Address(string street, string city, string zip)
{
}

public Address(string street, string city, string zip, Countries country)
{
}
Run Code Online (Sandbox Code Playgroud)

我当时想要做以下事情,但它不起作用: -

public Address(string street, string city, string zip)
     : this street, string.Empty, city, string.Empty, zip, string.Empty
{
}
Run Code Online (Sandbox Code Playgroud)

c# parameters constructor chaining

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

Java使线程同时启动

我在这里得到一个代码,当它运行时创建并启动一个新的线程,每秒打印一个单词,5秒后主方法停止线程.所以该程序将打印5个单词,它确实....但不是我的家用电脑只在我的笔记本电脑上.在我的家用电脑上打印6次,为什么?

public class Main {
  public static void main (String [] args){
    try {
      T1 t1 = new T1();
      System.out.println("Creating and staring thread 1\n");
      Thread.sleep(5000);
      t1.stopThread();
    } catch(InterruptedException ie) {}
  }
}

public class T1 extends Thread{

  private boolean alive = true;

  public T1(){
    start();
  }

  public void run(){
    while(alive){
      try {
        System.out.println("Tråd T1: Tråd 1");
        Thread.sleep(1000);
      } catch(InterruptedException ie) {}
    }
  }
  public void stopThread(){
    alive = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading

3
推荐指数
2
解决办法
411
查看次数

不需要返回值时映射

我有一个对象列表,我想更改所有对象的属性值(相同的值 - NewValue).

map()在函数(lambda)没有返回任何值的情况下,是否比正常for循环更有效?

map ( lambda x: x.attribute = NewValue, li)
Run Code Online (Sandbox Code Playgroud)

VS

for i in li:
    i.attribute = NewValue
Run Code Online (Sandbox Code Playgroud)

python

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